ip link命令怎么用?

在Linux系统中,查看网卡的MAC地址(即物理地址)是网络配置和故障排查的基础操作,MAC地址是网卡的唯一硬件标识符,由12位十六进制数组成(如00:1A:2B:3C:4D:5E),常用于网络绑定、设备识别或安全策略,以下是多种可靠的方法,适用于所有主流Linux发行版(如Ubuntu、CentOS、Debian等):
ip 命令是新一代网络工具,取代了旧的 ifconfig,功能更全面:

ip link show
  • 输出示例
    1: lo: <LOOPBACK> ... link/loopback 00:00:00:00:00:00  
    2: eth0: <BROADCAST> ... link/ether 00:1a:2b:3c:4d:5e
  • 关键字段
    • link/ether 后紧跟的即是MAC地址(如 00:1a:2b:3c:4d:5e)。
  • 查看指定网卡
    ip link show eth0 | grep link/ether | awk '{print $2}'

方法2:使用 ifconfig 命令(传统方式)

若系统未预装,可通过 net-tools 包安装(sudo apt install net-toolssudo yum install net-tools):

ifconfig
  • 输出示例
    eth0: ... ether 00:1a:2b:3c:4d:5e ... 
  • 关键字段ether 后为MAC地址。
  • 仅显示MAC地址
    ifconfig eth0 | grep ether | awk '{print $2}'

方法3:通过 /sys 文件系统(无需安装工具)

Linux内核通过虚拟文件系统 /sys 暴露硬件信息:

cat /sys/class/net/eth0/address
  • 直接输出00:1a:2b:3c:4d:5e
  • 适用场景:脚本自动化或精简环境(如Docker容器)。

方法4:使用 ethtool 工具(查看永久MAC地址)

某些网卡支持动态MAC地址(如虚拟化环境),ethtool 可查看硬件固化的永久地址:

sudo ethtool -P eth0
  • 输出示例Permanent address: 00:1a:2b:3c:4d:5e
  • 注意:需安装 ethtool 包(sudo apt install ethtoolsudo yum install ethtool)。

方法5:通过 nmcli(NetworkManager用户适用)

若系统使用NetworkManager管理网络:

nmcli device show eth0 | grep GENERAL.HWADDR
  • 输出示例GENERAL.HWADDR: 00:1A:2B:3C:4D:5E

常见问题解答(FAQ)

  1. 为什么MAC地址显示为 ff:ff:ff:ff:ff:ff
    通常表示网卡未激活或驱动异常,尝试启用网卡:

    sudo ip link set eth0 up
  2. 如何区分多个网卡?
    使用 ip linkls /sys/class/net/ 列出所有网卡名称(如 eth0wlan0)。

  3. MAC地址被随机化(如Wi-Fi)?
    某些系统(如NetworkManager)默认启用”cloned MAC”以保护隐私,关闭方法:

    nmcli connection modify "Your-WiFi-Name" wifi.cloned-mac-address permanent
  4. 虚拟机或容器中MAC地址不一致?
    虚拟网卡的MAC由宿主机分配,通过 virsh edit 虚拟机名 或容器配置查看真实值。


注意事项

  • 权限要求:除 /sys 外,其他命令可能需要 sudo 权限。
  • 一致性ip linkifconfig 显示当前生效的MAC地址,ethtool 显示硬件固化地址。
  • 临时修改:MAC地址可通过 sudo ip link set dev eth0 address 00:11:22:33:44:55 临时更改(重启失效)。

引用说明基于Linux内核文档(kernel.org/doc)、iproute2 官方手册(man7.org/linux/man-pages/man8/ip.8.html)及NetworkManager文档(developer.gnome.org/NetworkManager)综合整理,确保信息准确可靠。

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

(0)
酷番叔酷番叔
上一篇 2025年6月23日 22:29
下一篇 2025年6月23日 22:51

相关推荐

  • 在Linux操作系统下,如何彻底卸载JDK1.7版本?

    在Linux系统中卸载JDK1.7需要根据其安装方式选择不同的方法,常见的安装方式包括通过RPM/DEB包管理器安装、手动解压tar.gz包安装或通过第三方工具(如SDKMAN!)安装,卸载前需先确认当前JDK的版本、安装路径及安装方式,避免误操作影响系统其他依赖,以下是详细的卸载步骤及注意事项,卸载前准备工作……

    2025年9月20日
    2100
  • 为什么你的代码总出bug?

    切换脚本的核心原理通过脚本动态修改环境变量、符号链接或配置文件,实现快速切换,常用方法包括:别名(Alias):临时替换命令符号链接(Symlink):动态指向目标文件PATH优先级:调整$PATH顺序版本管理工具:如update-alternatives具体操作步骤创建切换脚本以切换Java版本为例:# 用法……

    2025年6月23日
    5000
  • Linux装XP,虚拟机还是双系统更轻松?

    虚拟机安装(安全推荐)通过虚拟化软件(如VirtualBox)在Linux中模拟XP环境,不破坏原有系统,步骤:安装VirtualBoxsudo apt update && sudo apt install virtualbox # Debian/Ubuntusudo dnf install V……

    2025年7月5日
    5700
  • Linux系统如何正确打开eth0网络接口?

    在Linux系统中,网络接口(如eth0)是系统与外部网络通信的桥梁,”打开eth0″通常指激活该网络接口,使其能够收发网络数据,本文将详细介绍Linux系统中启用eth0接口的多种方法,涵盖传统命令工具和现代网络管理工具,并附上配置示例和注意事项,检查eth0接口的当前状态在启用接口前,需先确认其当前状态,L……

    2025年9月23日
    1600
  • Linux系统挂起后如何恢复桌面操作、系统响应及所有正在运行的应用程序?

    Linux系统在使用过程中可能会因各种原因出现挂起现象,表现为系统无响应、鼠标键盘失灵、图形界面卡死或黑屏等情况,影响正常使用,针对不同挂起原因和场景,恢复方法也有所不同,本文将详细介绍Linux挂起后的恢复步骤、注意事项及长期预防措施,初步应急处理:快速尝试恢复当系统出现挂起时,首先应尝试温和的恢复方法,避免……

    2025年8月26日
    6400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信