有没有更有效的方法来检索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