在linux系统中,mac地址是网卡的物理标识,由六组十六进制数组成,常用于网络设备识别、静态IP绑定等场景。掌握查询mac地址的方法,是linux系统运维和网络配置的基础技能。

常用查询方法
1. 使用ifconfig命令
ifconfig是linux传统的网络接口配置工具,大部分发行版默认预装,可直接查看所有网卡的详细信息,其中包含mac地址。
执行以下命令查看所有网卡信息:
# 查看所有网络接口信息,包含mac地址 ifconfig -a
输出结果中,ether字段后面的内容就是对应网卡的mac地址,比如ether 00:16:3e:12:34:56中的00:16:3e:12:34:56就是mac地址。
如果只想查看指定网卡比如eth0的mac地址,可以执行:
# 查看指定网卡eth0的信息 ifconfig eth0
2. 使用ip命令
ip命令是较新的网络配置工具,属于iproute2软件包,现在很多新版本linux发行版更推荐使用该命令替代ifconfig。
执行以下命令查看所有网卡的mac地址:
# 查看所有网络接口的链路层信息,包含mac地址 ip link show
输出结果中,link/ether后面的内容就是mac地址,格式和ifconfig输出的一致。
查看指定网卡比如ens33的mac地址:
# 查看指定网卡ens33的链路层信息 ip link show ens33
3. 查看系统文件
linux系统中,每个网卡的相关信息都会存储在/sys/class/net/目录下的对应文件中,也可以直接读取文件获取mac地址。
查看所有网卡名称:
# 列出所有网络接口目录 ls /sys/class/net/
查看指定网卡比如wlan0的mac地址:
# 读取wlan0的mac地址文件 cat /sys/class/net/wlan0/address
该命令会直接输出对应网卡的mac地址字符串,没有其他冗余信息,适合在脚本中调用获取mac地址。
不同方法对比
以下是三种常用查询方法的特性对比:
| 查询方法 | 预装情况 | 输出信息量 | 适用场景 |
|---|---|---|---|
| ifconfig命令 | 传统发行版默认预装,部分新版精简系统需手动安装 | 包含IP、掩码、广播地址等完整网络信息 | 需要同时查看网卡其他网络信息时 |
| ip命令 | 大部分新版发行版默认预装 | 链路层信息为主,可搭配参数扩展 | 新版系统日常查询,推荐优先使用 |
| 读取系统文件 | 所有linux系统都支持 | 仅输出mac地址字符串 | 脚本自动化获取mac地址场景 |
注意事项
- 如果系统没有安装ifconfig,可通过包管理器安装,比如ubuntu系统执行
sudo apt install net-tools,centos系统执行sudo yum install net-tools。 - mac地址是网卡硬件标识,正常情况下不会随意变更,部分虚拟网卡的mac地址可能是动态生成的,重启后可能变化。
- 查询时需要确保有足够的权限,普通用户也可以查看大部分网卡信息,若提示权限不足可添加sudo执行命令。
注意:不要随意修改mac地址,除非有明确的需求,不当修改可能导致网络连接异常。
linuxmac_addressifconfigip_commandnetwork_interface修改时间:2026-06-18 09:54:28