最常用最稳妥的方式是ip addr,它能准确反映系统真实状态、不依赖额外服务且不受发行版差异影响;运行ip addr或ip a,查找非回环活跃接口下inet行后的ipv4地址(如192.168.1.100/24)。

直接查当前网卡的 IP 地址,最常用也最稳妥的方式是用 ip addr,它能准确反映系统真实状态,不依赖额外服务,也不受发行版差异影响。
ip addr:现代系统首选,信息全且可靠
这是目前 Linux 主流推荐的方式,属于 iproute2 工具集,默认预装,输出清晰、字段标准。
- 运行
ip addr或简写ip a,会列出所有网络接口(包括 lo 和物理网卡) - 找非回环(non-lo)的活跃接口,比如
ens33、eth0或enp0s3,看其下inet行——后面跟着的就是 IPv4 地址和 CIDR 掩码,例如inet 192.168.1.100/24 - 如只关心主网卡的 IPv4 地址,可加过滤:
ip -4 addr show up | grep -w inet | awk '{print $2}' | cut -d/ -f1
hostname -I:最快捷,适合脚本或快速确认
如果你只需要一串可用的 IPv4 地址,不想翻滚动屏,这个命令最省事。
- 执行
hostname -I,直接输出所有已启用接口的 IPv4 地址,空格分隔,例如:192.168.1.100 172.17.0.1 - 注意:它不显示网卡名、掩码或 IPv6,也不包含未启用(DOWN)接口的地址
- 在自动化脚本中提取第一个地址很常用:
hostname -I | awk '{print $1}'
ifconfig:传统方式,需手动安装
老运维熟悉,但已逐步淘汰;部分新系统默认不带,得自己装 net-tools。
- 运行
ifconfig,找到非lo的接口(如eth0),其inet字段后就是 IPv4 地址,netmask是子网掩码 - 若提示
command not found,说明未安装:Ubuntu/Debian 上运行sudo apt install net-tools,CentOS/RHEL 8+ 用sudo dnf install net-tools - 它不能识别某些新虚拟接口(如 systemd-networkd 创建的),也不支持 IPv6 地址的统一格式
nmcli:桌面环境或 NetworkManager 管理的系统适用
如果你用的是 GNOME、KDE 等桌面版 Linux,且网络由 NetworkManager 控制,这个命令更贴近实际连接状态。
- 执行
nmcli -p device show可查看每个设备的详细配置,含 IP、DNS、DHCP 租期等 - 只看活跃连接的 IPv4 地址:
nmcli -g IP4.ADDRESS device show - 服务器环境若没开 NetworkManager(常见于 minimal 安装),此命令会报错或返回空











