| 命令 | 主要用途 | 关键信息 | 适用系统 |
|---|---|---|---|
ip a |
首选命令,查看网络接口的详细信息 | IP地址、子网掩码、MAC地址、状态 | 所有现代 Linux |
ifconfig |
传统命令,功能类似 ip |
IP地址、MAC地址、状态 | 已过时,但仍常见于 CentOS 7 |
nmcli |
NetworkManager 的命令行工具,管理网络连接 | 连接名称、IP、DNS、网关等详细信息 | RHEL/CentOS 8+, Fedora, Ubuntu (默认) |
cat /etc/sysconfig/network-scripts/ifcfg-eth0 |
查看网卡静态配置文件 | IP地址、网关、DNS等静态设置 | RHEL/CentOS 7 |
cat /etc/netplan/01-netcfg.yaml |
查看网卡Netplan 配置文件 | YAML格式的网络配置 | Ubuntu Server 18.04+, Debian 10+ |
使用 ip 命令 (推荐)
ip 命令是 iproute2 包的一部分,是现代 Linux 系统中功能最强大、最推荐使用的网络配置工具,它取代了老旧的 ifconfig。

查看所有网络接口的摘要信息
ip addr # 或者使用更简洁的别名 ip a
输出示例:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:1c:23:45:67:89 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.100/24 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::21c:23ff:fe45:6789/64 scope link
valid_lft forever preferred_lft forever
关键字段解释:
eth0: 网卡接口名称。link/ether 00:1c:23:45:67:89: MAC 地址。inet 192.168.1.100/24: IPv4 地址和子网掩码(CIDR 表示法,/24代表子网掩码255.255.0)。inet6 fe80::...: IPv6 地址。state UP: 接口状态,UP表示已启用,DOWN表示已禁用。mtu 1500: 最大传输单元。
只显示已启用的接口
ip link show up
查看特定接口的详细信息
ip addr show eth0
使用 ifconfig 命令 (已过时)
ifconfig 来自于 net-tools 包,在很多旧系统或特定环境中仍然可以使用,但新系统默认不再安装,并且已被 ip 命令取代。
ifconfig
输出示例:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::21c:23ff:fe45:6789 prefixlen 64 scopeid 0x20<link>
ether 00:1c:23:45:67:89 txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 987654 (987.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6789 bytes 987654 (987.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 123 bytes 12345 (12.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 123 bytes 12345 (12.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
关键字段解释:
eth0: 网卡接口名称。inet 192.168.1.100: IPv4 地址。netmask 255.255.255.0: 子网掩码。ether 00:1c:23:45:67:89: MAC 地址。flags=4163<UP,BROADCAST,RUNNING,MULTICAST>: 接口标志,UP表示已启用。
使用 nmcli 命令 (管理网络连接)
如果你的系统使用 NetworkManager(这是现在绝大多数桌面版和服务器版 Linux 的默认选择),nmcli 是管理网络连接的最佳工具,它不仅能查看,还能轻松修改、启用、禁用连接。
查看所有活动的连接及其详细信息
nmcli connection show
输出示例:
NAME UUID TYPE DEVICE
eth0 a1b2c3d4-e5f6-7890-abcd-ef1234567890 ethernet eth0
Wired connection 1 g1h2i3j4-k5l6-m7n8-o9p0-q1234567890 ethernet --
查看特定连接的详细配置(推荐)
nmcli connection show "eth0" # "eth0" 是连接名称,通常和接口名一样
输出示例:

connection.id: eth0
connection.uuid: a1b2c3d4-e5f6-7890-abcd-ef1234567890
connection.type: 802-3-ethernet
connection.interface-name: eth0
ipv4.method: manual
ipv4.addresses: 192.168.1.100/24
ipv4.gateway: 192.168.1.1
ipv4.dns: 8.8.8.8, 8.8.4.4
...
这个命令会显示 IP 地址、网关、DNS 等完整的网络配置信息,非常实用。
查看网络接口状态
nmcli device status
直接查看配置文件
你需要查看系统启动时实际加载的配置,这时直接看配置文件最直接。
对于 RHEL/CentOS 7 及更早版本 (使用 ifcfg 文件)
配置文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<接口名>。
# 查看 eth0 的配置文件 cat /etc/sysconfig/network-scripts/ifcfg-eth0
示例:**
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
NAME=eth0
DEVICE=eth0
ONBOOT=yes
对于 Ubuntu Server 18.04+ 及 Debian 10+ (使用 Netplan)
配置文件通常位于 /etc/netplan/ 目录下,是 YAML 格式。
# 查看默认的 Netplan 配置文件 cat /etc/netplan/01-netcfg.yaml
示例:**
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
总结与建议
| 你的需求 | 推荐命令 |
|---|---|
| 快速查看 IP 和 MAC 地址 | ip a 或 ifconfig |
| 查看网络接口的运行状态 | ip link show 或 nmcli device status |
| 查看完整的网络配置 (IP, 网关, DNS) | nmcli connection show <连接名> |
| 检查系统启动时加载的静态配置 | 直接查看配置文件 (cat /path/to/config) |
| 在脚本中自动化处理网络 | 强烈推荐使用 nmcli,因为它功能强大且稳定。 |
最终建议:
对于日常使用和学习,请优先掌握 ip a 和 nmcli connection show 这两个命令,它们可以解决绝大多数查看网卡配置的需求。ip 命令是查看运行时状态的利器,而 nmcli 是管理网络连接的瑞士军刀。
