使用ip命令可查看linux系统ip地址:运行“ip addr show”后查找“inet”行获取ipv4地址,或用“ip -4 addr show eth0 | grep -op '(?

如果您在Linux系统中需要确认当前网络接口的IP地址,但不确定使用何种命令或工具,以下是几种常用且有效的方法:
一、使用ip命令查看IP地址
ip命令是现代Linux发行版中推荐使用的网络配置工具,取代了传统的ifconfig,能更准确地显示IPv4和IPv6地址信息。
1、打开终端,输入以下命令:
2、ip addr show
3、在输出结果中查找以“inet”开头的行,其后跟随的即为IPv4地址,例如:inet 192.168.1.10/24
4、如需仅显示主网卡(如eth0或wlan0)的IPv4地址,可执行:ip -4 addr show eth0 | grep -oP '(?
二、使用hostname命令配合选项获取IP
hostname命令在部分场景下可快速返回主机的IPv4地址,尤其适用于已配置主机名解析的环境。
1、在终端中运行:hostname -I
2、该命令将直接输出所有启用网络接口的IPv4地址,各地址以空格分隔
3、若仅需第一个可用IPv4地址,可结合awk提取:hostname -I | awk '{print $1}'
三、使用ifconfig命令查看(需确保net-tools已安装)
ifconfig是较早期的网络配置工具,在部分精简版或容器环境中可能未预装,需手动安装net-tools包。
1、检查是否可用:ifconfig
2、若提示命令未找到,先安装:对于Debian/Ubuntu系统执行 sudo apt install net-tools;对于RHEL/CentOS执行 sudo yum install net-tools
3、安装完成后再次运行 ifconfig,查找“inet”字段后的地址
4、如仅查看活动接口,可使用:ifconfig | grep -A 1 "inet "
四、读取/proc/net/fib_trie文件解析IP信息
该方法不依赖外部命令,直接从内核网络子系统获取路由表与地址映射,适用于受限环境或调试用途。
1、执行:cat /proc/net/fib_trie | grep -A 2 "IP address:"
2、过滤出含“+”号标识的主地址行:cat /proc/net/fib_trie | awk '/^[[:space:]]+\+[[:space:]]+/{f=1;next} f && /^$/ {exit} f'
3、识别输出中“inet”行后紧跟的十六进制地址,并用printf转换为点分十进制格式:cat /proc/net/fib_trie | grep -A 1 "inet" | grep -v "inet6" | head -1 | awk '{print $2}' | xargs -I{} printf "%d.%d.%d.%d\n" 0x${1:0:2} 0x${1:2:2} 0x${1:4:2} 0x${1:6:2}
五、使用nmcli命令(适用于NetworkManager管理的系统)
nmcli是NetworkManager的命令行接口,适合桌面环境或启用了NetworkManager服务的服务器。
1、确认NetworkManager正在运行:systemctl is-active NetworkManager
2、列出所有设备及其IP配置:nmcli device show
3、针对特定连接提取IPv4地址:nmcli -g IP4.ADDRESS nmcli connection show "$(nmcli -t -f NAME,DEVICE connection show --active | grep "$(hostname)" | cut -d: -f1)"
4、简化方式:直接查询当前活跃连接的IPv4地址:nmcli -g IP4.ADDRESS connection show $(nmcli -t -f NAME,DEVICE connection show --active | head -n1 | cut -d: -f1)










