在 Linux 系统中,inet addr
是一个传统网络配置中的术语,用于表示网络接口的 IPv4 地址。它通常出现在旧版命令行工具(如 ifconfig
)的输出中,但在新版工具中已被替代。
inet addr
的含义ifconfig
输出):
bash
eth0 Link encap:Ethernet HWaddr 00:0c:29:xx:xx:xx
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet addr:192.168.1.100
表示该接口的 IPv4 地址是 192.168.1.100
。现代 Linux 系统逐步淘汰了 ifconfig
,改用 ip
命令或 ip a
(ip addr
):
ip a show eth0
输出示例:
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic eth0
inet
替代了 inet addr
,直接显示 IPv4 地址和子网掩码(如 /24
)。ifconfig
):
bash
ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | cut -d: -f2
ip
命令):
bash
ip -4 addr show eth0 | grep inet | awk '{print $2}' | cut -d/ -f1
ifconfig
不显示 inet addr
?
sudo ip link set eth0 up # 启用接口
sudo dhclient eth0 # 动态获取 IP(DHCP)
为什么新版弃用 ifconfig
?
ifconfig
属于 net-tools
套件,功能有限且维护停滞;ip
命令(来自 iproute2
)支持更多现代网络特性(如 IPv6、VLAN)。inet addr
是旧版工具中 IPv4 地址的标识,新版中简化为 inet
。ip
命令替代 ifconfig
,以适应现代 Linux 系统。如果有具体场景或问题,可以进一步探讨!