如何查看Linux系统的MAC地址?

在Linux系统中,MAC地址(Media Access Control Address)是网卡的物理地址,用于在局域网中唯一标识网络接口设备,查看Linux系统的MAC地址有多种方法,可通过命令行工具或系统文件直接获取,以下是详细操作步骤及不同方法的对比分析。

如何查看linux的mac

使用ifconfig命令查看MAC地址

ifconfig是传统的网络配置工具,可显示或配置网络接口信息,若系统中未安装,需先根据发行版安装(如Debian/Ubuntu使用sudo apt install net-tools,CentOS/RHEL使用sudo yum install net-tools)。

操作步骤

  1. 打开终端,输入以下命令列出所有网络接口:

    ifconfig

    输出中会显示eth0(有线网卡)、wlan0(无线网卡)等接口信息。

  2. 定位目标接口,在HWaddr(部分系统显示为ether)字段后即为MAC地址,

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)

    其中00:1a:2b:3c:4d:5e即为该网卡的MAC地址。

使用ip命令查看MAC地址

ip是现代Linux系统推荐的网络配置工具,功能比ifconfig更全面,默认已安装在大多数发行版中。

操作步骤

  1. 输入以下命令显示所有网络接口的详细信息:

    ip addr show

    或简化为:

    如何查看linux的mac

    ip a
  2. 在输出中找到目标接口,link/ether字段后即为MAC地址,

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff

    若需仅查看MAC地址,可结合grep过滤:

    ip a | grep -E "link/ether|ether" | awk '{print $2}'

读取/sys文件系统查看MAC地址

Linux内核通过/sys/class/net/目录暴露网络接口信息,直接读取对应接口的address文件可获取MAC地址,适合脚本编程或无命令行工具的环境。

操作步骤

  1. 列出所有网络接口:

    ls /sys/class/net/
  2. 读取目标接口的address文件,例如eth0

    cat /sys/class/net/eth0/address

    输出为小写无冒号格式(如001a2b3c4d5e),可通过sed添加冒号:

    cat /sys/class/net/eth0/address | sed 's/(..)/1:/g; s/:$//'

使用nmcli工具查看MAC地址

nmcli是NetworkManager的命令行工具,适用于使用NetworkManager管理网络的系统(如Ubuntu、Fedora默认启用)。

操作步骤

  1. 查看所有网络设备的详细信息:

    如何查看linux的mac

    nmcli device show
  2. 在输出中找到目标设备(如eth0),GENERAL.MAC-ADDRESS字段即为MAC地址,

    GENERAL.DEVICE:                         eth0
    GENERAL.TYPE:                           ethernet
    GENERAL.MAC-ADDRESS:                    00:1a:2b:3c:4d:5e

使用ethtool工具查看MAC地址

ethtool可查看和配置网卡参数,需先安装(sudo apt install ethtoolsudo yum install ethtool)。

操作步骤

  1. 查看网卡的永久MAC地址(避免虚拟接口临时MAC的干扰):
    ethtool -P eth0

    输出示例:

    Permanent address: 00:1a:2b:3c:4d:5e

不同方法对比

方法 核心命令 优点 缺点 适用场景
ifconfig ifconfig 直观,兼容旧系统 逐渐被淘汰,需额外安装 传统Linux系统
ip ip addr show 现代系统默认,功能全面 输出信息较多,需过滤 通用Linux系统
/sys文件系统 cat /sys/class/net/... 无需工具,适合脚本 输出格式需处理 自动化脚本、无命令行环境
nmcli nmcli device show 结合NetworkManager管理 依赖NetworkManager服务 NetworkManager管理的系统
ethtool ethtool -P 可查看永久MAC地址 需安装工具 需区分临时/永久MAC场景

注意事项

  1. 虚拟接口:Docker、虚拟机等创建的虚拟接口(如docker0veth123)也会有MAC地址,可通过ip addr查看。
  2. 多网卡场景:若需快速查看所有网卡MAC地址,可使用:
    ip a | grep "link/ether" | awk '{print $2, $7}'
  3. MAC地址格式:标准MAC地址为6组2位十六进制数,组间用冒号或连字符分隔,大小写不敏感。

相关问答FAQs

问题1:为什么同一个网卡在ifconfigip addr中显示的MAC地址格式不同?
解答:ifconfig默认显示为大写带冒号格式(如00:1A:2B:3C:4D:5E),而ip addr默认显示为小写带冒号格式(如00:1a:2b:3c:4d:5e),本质是同一地址,仅格式差异,可通过tr '[:lower:]' '[:upper:]'转换为大写,或sed 's/://g'去除冒号。

问题2:如何查看所有网卡的MAC地址(包括虚拟网卡)?
解答:使用ip addr show命令可显示所有接口(物理和虚拟)的MAC地址,或通过遍历/sys/class/net/目录获取:

ls /sys/class/net/ | while read interface; do
  echo "$interface: $(cat /sys/class/net/$interface/address)"
done

此命令会列出所有接口及其对应的MAC地址,格式为接口名: MAC地址

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23848.html

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 2小时前

相关推荐

  • Linux安装SCIM输入法遇问题?

    SCIM(Smart Common Input Method)是一个开源的输入法平台,支持中文、日文、韩文等复杂语言的输入,尽管现代Linux发行版多采用IBus或Fcitx5,但部分传统场景仍需SCIM,以下是专业安装流程:安装前的关键准备系统更新终端执行:sudo apt update &&amp……

    2025年7月26日
    2500
  • Linux如何正确退出程序?

    终端中运行的前台程序正常退出(推荐)多数程序内置退出命令:输入 q 或 quit 后按回车(如nano编辑器),按 Ctrl + D(发送EOF信号,适用于Python交互模式等),通用快捷键:Ctrl + C:强制终止当前命令(适用于无退出命令的程序,如ping),强制终止无响应程序按 Ctrl + Z 暂停……

    2025年7月15日
    3400
  • 如何用U盘安装Linux系统软件?操作步骤是怎样的?

    从零开始用U盘安装Linux系统是许多新手尝试开源世界的第一步,虽然看似复杂,但只要按步骤操作,整个过程并不困难,以下是详细的安装流程,涵盖准备工作、U盘启动制作、系统安装及后续配置,帮助你顺利完成Linux系统的部署,安装前的准备工作在开始安装前,需确保硬件和软件准备就绪,避免中途出现卡顿或错误,硬件准备U盘……

    6天前
    800
  • Linux如何正确删除一个用户账户及关联文件?

    在Linux系统中,用户管理是系统运维的基础操作之一,删除用户是常见需求,可能因员工离职、账户闲置或安全策略调整等原因触发,正确删除用户不仅能释放系统资源,还能避免潜在的安全风险,本文将详细讲解Linux中删除用户的完整流程、注意事项及不同场景下的操作方法,帮助用户安全、高效地完成用户删除任务,删除用户前的准备……

    5天前
    600
  • Linux系统CPU占用飙升?秒级定位高负载线程!

    核心工具与方法top 命令(实时动态查看)top -H # 启动线程模式操作步骤:运行后按 Shift+P 按CPU使用率排序,记录高CPU线程的 PID(线程ID),关键列解析:PID:线程ID%CPU:CPU占用百分比COMMAND:进程/线程名称进阶技巧:按 1 查看每个CPU核心的负载,按 F 选择显示……

    2025年7月10日
    2400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信