在linux系统中,有多种方法可以查看IP地址,下面将详细介绍几种常用的方法,并提供相关示例和表格归纳,以帮助用户更好地理解和使用这些命令。
使用`ip`命令
ip addr show
或简写为ip a

这个命令会列出当前系统中所有网络接口的详细信息,包括IP地址、子网掩码和网关等,如果你的IPv4地址是192.168.3.17,那么你会在输出中看到类似inet 192.168.3.17/24
这样的行。
- ip addr show
示例输出:
- 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
- link/ether 08:00:27:b2:4e:a5 brd ff:ff:ff:ff:ff:ff
- inet 192.168.3.17/24 brd 192.168.3.255 scope global dynamic enp0s3
- valid_lft 86399sec preferred_lft 86399sec
- inet6 fe80::a00:27ff:feb2:4ea5/64 scope link
- valid_lft forever preferred_lft forever
使用`ifconfig`命令
输入ifconfig
命令,它会显示当前系统中所有网络接口的配置信息,包括IP地址、子网掩码和网关等,在一些现代的Linux发行版中(如Ubuntu 18.04及以后的版本),ifconfig
可能没有被默认安装,因为已经被ip
命令所取代。
- ifconfig
示例输出:
- eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
- inet6 fe80::20c:29ff:fec0:3e21 prefixlen 64 scopeid 0x20<ethernet>
- ether 00:0c:29:c0:3e:21 txqueuelen 1000 (Ethernet)
- RX packets 145028 bytes 99755527 (95.0 MiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 3012 bytes 244536 (238.8 KiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
使用`hostname`命令
输入hostname I
命令,它会显示带有I
标志的主机名的IP地址(如果主机名可解析),如果有多个主机网络地址,使用I
选项将显示所有主机网络地址。
- hostname I
示例输出:

- 192、168.1.100 192.168.1.200
使用图形界面
如果你使用的是带有图形界面的Linux发行版(如Ubuntu、Fedora等),你也可以通过图形界面来查看IP地址,你可以在“设置”或“网络设置”中找到与网络连接相关的信息,包括IP地址。
使用`nmcli`命令
输入nmcli device show
命令,它会显示网络管理器中所有网络设备的信息,包括IP地址、子网掩码和网关等。
- nmcli device show
示例输出:
- GENERAL.DEVICE: eth0
- GENERAL.TYPE: ethernet
- GENERAL.HWADDR: 08:00:27:b2:4e:a5
- GENERAL.MTU: 1500
- GENERAL.STATE: 100 (connected)
- GENERAL.CONNECTION: Wired connection 1
- GENERAL.CONPATH: /org/freedesktop/NetworkManager/ActiveConnection/1
- IP4.ADDRESS[1]: 192.168.3.17/24
- IP4.GATEWAY: 192.168.3.1
- IP4.ROUTE[1]: dst = 0.0.0.0/0, gw = 192.168.3.1
- IP4.DNS[1]: 192.168.3.1
- IP6.ADDRESS[1]: fe80::a00:27ff:feb2:4ea5/64
- IP6.GATEWAY:
- IP6.ROUTE[1]: dst = ::/0 gw =
方法 | 命令 | 说明 |
ip 命令 | ip addr show | 列出所有网络接口的详细信息,包括IP地址、子网掩码和网关等。 |
ifconfig 命令 | ifconfig | 显示所有网络接口的配置信息,包括IP地址、子网掩码和网关等。 |
hostname 命令 | hostname I | 显示主机名的IP地址(如果主机名可解析)。 |
图形界面 | 设置或网络设置 | 通过图形界面查看网络连接相关的信息,包括IP地址。 |
nmcli 命令 | nmcli device show | 显示网络管理器中所有网络设备的信息,包括IP地址、子网掩码和网关等。 |
常见问题与解答(FAQs)
Q1: 如果ifconfig
命令不可用怎么办?
A1: 在一些现代的Linux发行版中(如Ubuntu 18.04及以后的版本),ifconfig
可能没有被默认安装,因为已经被ip
命令所取代,你可以使用ip
命令来替代,ip addr show
。
Q2: 如何仅获取指定网络接口的IP地址?

A2: 你可以使用命令结合grep和awk等工具来提取特定网络接口的IP地址,要获取eth0接口的IP地址,可以使用以下命令:ip addr show dev eth0 | grep 'inet ' | awk '{print $2}' | cut d/ f1
。