在 Linux 系统中,查看 IP 地址是日常运维和管理中的基础操作,掌握多种查看方法不仅能提升工作效率,还能根据不同场景选择最合适的命令,本文将详细介绍 Linux 下查看 IP 地址的常用命令、适用场景及注意事项,帮助用户全面掌握相关技能。

使用 ip 命令:现代 Linux 系统的首选
ip 命令是 iproute2 包中的工具,功能强大且全面,是当前主流 Linux 发行版(如 Ubuntu、CentOS 7+、Debian 等)推荐使用的网络管理工具,相比传统的 ifconfig,ip 命令能提供更详细的网络接口信息,并支持 IPv4 和 IPv6 协议。
基本语法
查看所有网络接口的 IP 地址信息:
ip addr show
或简写为:
ip a
常用参数
- 查看指定接口:例如查看
eth0的 IP 地址:ip addr show eth0
- 仅显示 IP 地址:结合
grep过滤出包含inet(IPv4)或inet6(IPv6)的行:ip addr show eth0 | grep 'inet '
- 显示详细信息:包括 MAC 地址、子网掩码、广播地址等:
ip addr show eth0
输出说明
执行 ip addr show 后,输出内容分为多个网络接口段落,每个接口包含以下关键信息:
link/ether:MAC 地址(硬件地址)。inet:IPv4 地址及子网掩码(如168.1.100/24)。inet6:IPv6 地址(如果启用)。scope:地址作用范围(如global为全局地址,link为链路本地地址)。
使用 ifconfig 命令:传统工具的兼容性
ifconfig 是早期 Linux 系统中常用的网络配置工具,属于 net-tools 包,虽然在新系统中逐渐被 ip 命令取代,但部分旧版系统(如 CentOS 6、Debian 7 等)仍可能依赖该命令。
安装与使用
若系统未安装 ifconfig,可通过以下命令安装(以 Debian/Ubuntu 为例):

sudo apt install net-tools
查看所有接口的 IP 地址:
ifconfig
查看指定接口(如 eth0):
ifconfig eth0
输出说明
ifconfig 的输出中,关键信息包括:
inet addr:IPv4 地址。Bcast:广播地址。Mask:子网掩码。HWaddr:MAC 地址。
注意事项
ifconfig 已被官方标记为过时工具,建议在新系统中优先使用 ip 命令,以获得更好的兼容性和功能支持。
查看网络连接状态与临时 IP
除了查看接口配置,有时需要了解当前活跃的网络连接或临时获取 IP 地址(如 DHCP 客户端场景)。
使用 ss 或 netstat 查看连接状态
ss命令(推荐,iproute2包的一部分):ss -tulnp | grep ':80' # 查看 80 端口的 TCP/UDP 连接
netstat命令(传统工具):netstat -tuln | grep ':80'
查看 DHCP 客户端信息
若通过 DHCP 获取 IP,可通过以下命令查看租约信息:

- Ubuntu/Debian(使用
dhclient):cat /var/lib/dhcp/dhclient.eth0.leases
- CentOS/RHEL(使用
dhclient或NetworkManager):nmcli device show eth0 | grep IP4.ADDRESS
不同场景下的选择建议
- 日常查看:优先使用
ip addr show,信息全面且命令简洁。 - 脚本编写:推荐使用
ip命令,其输出格式稳定,适合通过grep或awk提取特定信息(如提取 IPv4 地址):ip addr show eth0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1 - 旧系统维护:若
ip命令不可用,可临时使用ifconfig,但需注意安装依赖。 - 网络故障排查:结合
ping、traceroute、ss等工具,定位 IP 配置或连接问题。
常见问题与注意事项
-
权限问题:
部分命令(如ifconfig修改配置)需要sudo权限,但查看操作普通用户即可执行。 -
虚拟接口:
Linux 中可能存在虚拟网络接口(如docker0、lo),可通过ip addr show中的接口名称区分(lo为回环地址,0.0.1)。 -
IPv6 支持:
若需查看 IPv6 地址,可在命令中添加inet6过滤,或直接使用ip -6 addr show。 -
动态 IP 变化:
通过 DHCP 获取的 IP 可能会变化,若需实时监控,可结合watch命令:watch -n 1 "ip addr show eth0 | grep 'inet '"
Linux 系统中查看 IP 地址的方法多样,ip 命令凭借其强大的功能和现代性成为首选工具,而 ifconfig 等传统工具则在特定场景下提供兼容性支持,根据实际需求选择合适的命令,并结合参数灵活使用,能够高效完成网络配置与管理工作,掌握这些基础操作,是深入学习 Linux 网络管理的重要一步。




















