获得eth0的MAC的最佳方法?


20

在Linux中,是否有更有效的方法来检索NIC的MAC地址?

这有效:

ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'

但是可以通过以下方式找到它:

cat /sys/net/something

Answers:


27

它位于/sys/class/net/eth0/address(或更确切地说/sys/devices/pciXXXX:XX/XXXX/net/eth0/address,XXX是您的PCI总线ID所在的位置,但这在系统之间有所不同)。

(顺便说一句,我在find /sys -name eth0查找目录中的文件时发现了这一点。)


4

也可以通过ifconfig以下方式获得:

kce@thinkpad:~$ /sbin/ifconfig eth0 |grep HWaddr
eth0      Link encap:Ethernet  HWaddr 00:1e:37:cc:ce:cc  

或者,如果您只想要MAC地址:

kce@thinkpad:~$ /sbin/ifconfig eth0 |awk '/HWaddr/{print $5}'
00:1e:37:cc:ce:cc

2
好吧,您仍然必须awk或削减它。因为mac在行尾。
brodul 2011年

3

如果可以安装moreutils软件包,则有一个ifdata工具。说明说:

ifdata:获取网络接口信息,而不分析ifconfig输出

这是一个例子:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.