首页 > Sysadmin > 正文

Linux 查看 IP 地址:4 条命令实测与选型

huyuanwen 2026-11-02 Sysadmin

ip addr 最完整,hostname -I 最简洁,ifconfig 已弃用。以下均经 WSL2 实测。

一、TL;DR:按场景选命令

  • 查看全部接口与 IPv6:ip addr show,输出最全。
  • 脚本取 IP 字符串:hostname -I,空格分隔,直接可用。
  • legacy 脚本或老运维:ifconfig,需先装 net-tools,新系统不默认安装。
  • 只看默认路由出口:ip route show default,一行得网关与出口接口。

二、ip addr:现代标准,信息最完整

ip addr show
ip -brief addr show

ip addr show 属于 iproute2 套件,从 2000 年代起逐步替代 ifconfig [1]。输出按接口分组,能看到 MAC、IPv4、IPv6、广播地址、作用域和有效期。脚本处理时,ip -brief addr show 把同一接口压成一行,便于 awk/grep。

实测输出(WSL2 Ubuntu 24.04):

lo               UNKNOWN        127.0.0.1/8 10.255.255.254/32 ::1/128
eth0             UP             172.26.110.34/20 fe80::215:5dff:fea3:633/64

三、hostname -I:一行拿到 IP

hostname -I

hostname -I 把所有非回环 IP 以空格分隔打印,适合赋值给变量 [2]。注意不要与 hostname -i 混淆:小写 -i 在某些环境下只回 127.0.1.1,不输出真实 IP。

实测输出:

172.26.110.34

四、ifconfig: legacy 方案(已弃用)

sudo apt-get update
sudo apt-get install -y net-tools
ifconfig
ifconfig eth0

net-tools 包提供 ifconfig,但 Debian/Ubuntu 自 2020 年代起已不默认安装。若只需 IPv4,也可以用:

ip -4 addr show eth0 | grep inet

五、WSL2 / 容器 / 云服务器的差异

环境 ip addr hostname -I ifconfig
物理机 正常 正常 需 net-tools
WSL2 正常,eth0 为 hv_netvsc 正常 需 net-tools
Docker 容器 正常,eth0 为 veth 正常 需 net-tools
云服务器 正常 正常 需 net-tools

WSL2 里 eth0 实际是 hv_netvsc 虚拟接口,NAT 分配 IP,重启会变。容器内同样用 veth 对,宿主机可通过 docker inspect 查真实网段。云服务器若有多个弹性网卡,ip -brief addr 一眼能区分。

六、回滚、排错与局限性

排错速查

现象 原因 处理
ip addr 只看到 lo 网卡未 up 或驱动未加载 ip link set eth0 up;查 `dmesg \ grep eth0`
hostname -I 返回空 没配 IPv4,或系统没装 hostname 扩展 先跑 ip addr show 确认
ifconfig 命令不存在 net-tools 未安装 sudo apt-get install net-tools
IP 显示 169.254.x.x 没拿到 DHCP,APIPA 地址 查 DHCP 服务或手动配静态 IP

局限性

  • hostname -I 是 glibc 扩展,POSIX 未标准化,极少数精简系统可能缺失。
  • WSL2 重启后 IP 会变,脚本里若依赖固定 IP 需配合 wsl.exe hostname -I 动态获取。
  • 多网卡/多 IP 时,hostname -I 会输出多个地址,需自行取第 N 个或按网段筛选。

实测记录

  • 环境:WSL2 Ubuntu 24.04,内核 5.15。
  • ip addr show:eth0 正常,inet 172.26.110.34/20。
  • ip -brief addr show:单行输出,适合脚本。
  • hostname -I:输出 172.26.110.34,与 ip addr 一致。
  • hostname -i:输出 127.0.1.1,与真实 IP 不符。
  • ifconfig:未安装 net-tools,apt-get install 后可用,与 ip addr 结果一致。

参考资料

文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。