最好的方法来获得eth0的MAC?

有没有更有效的方法来检索Linux中的网卡的MAC地址?

这工作:

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

但可以通过类似的东西find它:

 cat /sys/net/something 

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

(顺便说一下,我用find /sys -name eth0find了这个文件,并查看了所标识目录中的文件。)

它也可以通过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 

如果你可以安装moreutils包,那就有一个ifdata工具。 说明:

ifdata:在不parsingifconfig输出的情况下获取networking接口信息

这是一个例子:

 me@box:~$ ifdata -ph eth0 00:21:86:61:35:44