ip 是当前 Linux 查网络配置的推荐命令,ifconfig 已逐步退出主流支持;ip 功能更全、原生支持 IPv6、可管理多 IP 和路由等,而 ifconfig 仅限接口层且不维护。

Linux 里查网络配置,ip 是当前推荐的命令,ifconfig 虽然还能用,但已逐步退出主流支持。两者都能看 IP、子网 掩码、接口状态,但底层逻辑、功能范围和长期可用性差别明显。
查看本机所有网卡和 IP 地址
这是最常用的操作:
- ifconfig:直接运行
ifconfig显示所有 ** 已启用 ** 的接口;加-a(即ifconfig -a)可显示包括关闭状态在内的全部接口 - ip:用
ip addr或ip a,默认列出所有接口及其 IPv4/IPv6 地址、作用域(scope)、是否临时(temporary)等信息,更完整也更结构化
注意:ifconfig 不显示 IPv6 地址(除非特别编译支持),而 ip addr 原生支持双 栈,且每条地址带标签(如 global、link-local),便于区分用途。
启用、禁用网卡 和临时改 IP
两类命令都能做临时配置,但语法和能力不同:
- ifconfig:
ifconfig eth0 up启用,ifconfig eth0 down关闭;设 IP 写成ifconfig eth0 192.168.1.50 netmask 255.255.255.0 - ip:
ip link set eth0 up/down;设 IP 用ip addr add 192.168.1.50/24 dev eth0,支持 CIDR 格式,一条命令就带掩码,还支持添加多个 IP、删除指定地址(ip addr del ……)
关键 区别:ifconfig 修改的是整个接口的主 IP,而 ip 可以在同一接口上叠加多个 IP,且能精确控制生命周期(如 preferred_lft)。
查 路由、网关和 ARP 表
ifconfig 完全不涉及这些——它只管“接口层”,不碰“网络层”:
- 查默认网关:
ip route show default(ifconfig没有对应功能,得配合route -n) - 查 ARP 缓存:
ip neigh(ifconfig无法查看) - 查策略路由或多表路由:
ip rule、ip route show table 100—— ifconfig 完全不支持
也就是说,只要涉及路由、隧道、命名空间、流量控制等现代网络场景,ip 是唯一选择。
兼容性与长期使用建议
这不是风格偏好问题,而是维护现实:
-
ifconfig来自老旧的net-tools包,多年无实质更新,Ubuntu 22.04+/CentOS 8+/Fedora 默认不预装,需手动apt install net-tools或yum install net-tools -
ip属于iproute2,是 Linux 内核官方配套 工具,所有现代发行版默认集成,持续更新,脚本友好,输出稳定易解析 - 系统启动时的网络配置(如
/etc/network/interfaces或/etc/sysconfig/network-scripts/ifcfg-eth0)虽仍沿用 ifconfig 风格参数,但后台实际调用的已是 ip 命令
新环境、自动化脚本、CI/CD 流水线中,一律优先用 ip;仅在排查老系统或阅读遗留文档时遇到 ifconfig,理解其等价写法即可。






























