本指南将引导您完成在 Linux 中使用检查或查找 IP 地址的步骤 ip
和 hostname
来自命令行界面和图形用户界面的命令。 此外,您还将学习如何使用示例命令仅显示 IPv4 或 IPv6 地址。
在进入主题之前,让我们简要了解一下 IP 地址是什么,以及它的版本。
内容
什么是 IP 地址?
一个 IP地址 是分配给连接到计算机网络的每个设备的唯一数字表示。 IP代表 一世互联网 磷协议。
IP 地址主要用于识别设备并与局域网 (LAN) 和 Internet (WAN) 上的其他设备进行通信。
有两个可用的 IP 版本:
- Internet 协议版本 4(简称 IPv4)
- Internet 协议版本 6 (IPv6)。
典型的 IPv4 地址是由点(句点)分隔的一串数字。 下面是一个 IPv4 的例子:
192.168.225.52
典型的 IPv6 地址是一串字母数字字符。 因此,它由数字和字符组成,如下所示:
2409:4072:9b:47f0:9939:7a5a:f863:1476
IP 地址不是随机数。 它们由全局分配和管理 互联网号码分配机构 (IANA),一个部门 互联网名称与数字地址分配机构 (互联网名称与数字地址分配机构)。
希望您了解 IP 地址的基本概念及其背后的组织。 现在让我们继续看看如何使用命令行从 Linux 系统中获取 IP 地址 ip
和 hostname
命令。 首先,让我们来看看 ip
命令。
1. 使用 ip 命令从命令行界面 (CLI) 在 Linux 中查找 IP 地址
这 ip
实用程序是一个命令行网络配置工具,它利用了现代 Linux 内核中可用的全范围网络功能。 它取代了之前和现在已弃用的 ifconfig
程序。 和 ip
命令,我们可以检查 Linux 系统的网络接口和路由表。
1.1. 显示所有网络接口的 IP 地址
要在 Linux 机器中查找所有连接的网络接口的 IP 地址,请运行 ip
命令与 addr
论证如下:
$ ip addr
或者,
$ ip a
此命令将显示系统中所有网络接口的当前 IP 分配:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:8f:05:11 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe8f:511/64 scope link valid_lft forever preferred_lft forever
正如你在上面的输出中看到的,我的 Alpine Linux 系统有两个网络接口,即 lo
和 eth0
. 这 lo
是环回接口,系统用来“与自身对话”的虚拟接口。 第二个界面叫做 eth0
, 是以太网接口。
您将看到一个有效的 IP 地址在 inet
上面输出中的字段。 根据输出,IPv4 地址 eth0
是 10.0.2.15
和 IPv6 是 fe80::a00:27ff:fe8f:511
.
对于使用动态主机配置协议 (DHCP) 的系统,此字段中的有效 IP 地址将验证 DHCP 是否正常工作。
在最近的 Linux 发行版中,网络接口的名称可能是 enp5s0
或者 enp0s3
. 如果你有无线接口卡,你会看到类似的东西 wlp9s0
在输出中。
你注意到这个词了吗 “向上” 在每个界面的第一行? 它表示网络接口已启用。
1.2. 显示特定网络接口的 IP 地址
当你跑 ip addr
命令不带任何选项,它将显示系统中所有接口的网络详细信息。 但是,您可以明确指定特定网络接口名称以仅查看其 IP 详细信息:
$ ip addr show dev eth0
此命令将显示 IP 详细信息 eth0
仅接口:
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:8f:05:11 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe8f:511/64 scope link valid_lft forever preferred_lft forever
1.3. 仅以表格格式打印基本 IP 信息
我们可以只显示简短的输出,而不是显示所有网络详细信息 -br
(-brief
) 旗帜。
$ ip -br a
此选项仅以表格格式打印基本信息以提高可读性。
lo UNKNOWN 127.0.0.1/8 ::1/128 enp0s3 UP enp0s8 UP 2409:4072:9b:47f0:a00:27ff:fe10:7cc1/64 fe80::a00:27ff:fe10:7cc1/64 enp0s9 UP 2409:4072:9b:47f0:a00:27ff:fe5d:6128/64 fe80::a00:27ff:fe5d:6128/64 br0 UP 192.168.225.52/24 fe80::a00:27ff:fe8a:5294/64 virbr0 DOWN 192.168.122.1/24 virbr0-nic DOWN
此选项目前仅支持 ip addr
, ip addr show
和 ip link show
命令。
1.4. 以颜色显示 IP 地址
这 ip
命令有一个选项可以为 IP 地址添加颜色。 将 IP 地址与输出中的其他部分区分开来很有帮助。
要配置颜色输出,请使用 -c
旗帜:
$ ip -c a
此选项将以不同的颜色显示输出中的每个详细信息。
1.5. 仅显示 IPv4 地址
正如您在之前的输出中可能注意到的那样, ip
命令为您提供 IPv4 和 IPv6 详细信息。 您还可以仅显示 IPv4 地址或 IPv6 地址。
要仅打印 IPv4 地址,请使用 -4
选项:
$ ip -4 a
示例输出:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 5: br0: mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 192.168.225.52/24 brd 192.168.225.255 scope global br0 valid_lft forever preferred_lft forever 6: virbr0: mtu 1500 qdisc noqueue state DOWN group default qlen 1000 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever
1.6. 仅显示 IPv6 地址
要仅打印 IPv4 地址,请使用 -6
选项:
$ ip -6 a
示例输出:
1: lo: mtu 65536 state UNKNOWN qlen 1000 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 3: enp0s8: mtu 1500 state UP qlen 1000 inet6 2409:4072:9b:47f0:a00:27ff:fe10:7cc1/64 scope global mngtmpaddr noprefixroute valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe10:7cc1/64 scope link valid_lft forever preferred_lft forever 4: enp0s9: mtu 1500 state UP qlen 1000 inet6 2409:4072:9b:47f0:a00:27ff:fe5d:6128/64 scope global mngtmpaddr noprefixroute valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe5d:6128/64 scope link valid_lft forever preferred_lft forever 5: br0: mtu 1500 state UP qlen 1000 inet6 fe80::a00:27ff:fe8a:5294/64 scope link valid_lft forever preferred_lft forever
1.7. 以JSON格式打印ip命令输出
您可以使用 -j
(-json
) 和 ip
命令以 JavaScript 对象表示法 (JSON) 格式输出结果。
$ ip -j a
示例输出:
1.8. 以人类可读的格式显示 IP 信息
这 -h
, -human
, -human-readable
选项允许您显示带有人类可读值后跟后缀的输出统计信息。
$ ip -h a
有关更多详细信息,请查看手册页。
$ man ip
2.在Linux中使用hostname命令显示IP地址
一种 主机名 是分配给节点的字母数字标签,以便在网络上识别它。 在 Linux 中, hostname
命令允许您显示或设置系统的主机名,并显示主机系统中所有网络接口的网络地址。
要在 Linux 中显示所有连接的网络接口卡的 IP 地址,请运行 hostname
命令与 -I
选项:
$ hostname -I
示例输出:
192.168.225.52 192.168.122.1 2409:4072:9b:47f0:a00:27ff:fe10:7cc1 2409:4072:9b:47f0:a00:27ff:fe5d:6128
您现在了解了在 Linux 中从终端检查 IP 地址信息的两个命令。 如您所见,上述所有步骤仅适用于命令行界面 (CLI)。 以下部分显示了如何从图形环境中获取 IP 地址详细信息。
3. 从图形用户界面 (GUI) 获取 Linux 中的 IP 地址
查找 IP 地址因您使用的桌面环境 (DE) 而异。 下面提供的步骤在 Ubuntu GNOME 桌面上进行了测试。
在 Dash 菜单中,键入 设置 并点击它打开。
接下来,选择您当前使用的网络类型(Wifi 或有线)。
如果您连接到有线网络,请单击 网络 设置窗口左窗格中的按钮。 在右侧窗格中,单击 高级网络设置齿轮 按钮。
笔记: 我的系统没有连接任何有线网络,所以它显示 – 电缆已拔出. 如果您连接到有线网络,您将看到 连接的 信息。
如果您的系统连接到无线网络,请单击 无线上网 设置窗口左窗格中的按钮。 在右侧窗格中,单击 高级网络设置齿轮 按钮。
单击高级网络设置齿轮按钮后,将打开以下窗口。 在下面 细节 选项卡,您可以找到 IP 地址详细信息。
希望这可以帮助。
相关指南:
- 如何在 Linux 和 Unix 中配置静态 IP 地址
- 如何在 Ubuntu 18.04 LTS 中配置 IP 地址
- 如何在 Arch Linux 中配置静态和动态 IP 地址
- 如何在 Linux 中为单个网卡分配多个 IP 地址
- 如何在 Linux 上从命令行找出公共 IP 地址
- 在 Linux 中使用 What IP 工具显示网络信息
- 如何从命令行查找 IP 地址的地理位置
精选图片 豪尔赫·吉伦 从 知乎.
命令行IP地址LinuxLinux管理Linux基础Linux命令Linux网络