是否有命令在给定mac的情况下打印接口名称或者我应该解析它?如果可以的话,有可靠的方法吗?
basename -a $(ls /sys/devices/**/net/* -d)
ifconfig | cut -c 1-8 | sort | uniq -u
似乎不可靠
答案 0 :(得分:2)
解析ifconfig
输出始终是一个不确定的命题(因为ifconfig
旨在生成人类可读的输出,而不是机器可读的输出。)
最好的信息来源是/sys/class/net/<device>/address
个文件。 E.g:
$ cat /sys/class/net/wlp3s0/address
3c:a9:f4:5a:8b:24
要从MAC地址向后工作到接口名称,您可以执行以下操作:
$ grep -l 3c:a9:f4:5a:8b:24 /sys/class/net/*/address
/sys/class/net/wlp3s0/address
...然后从该路径获取接口名称。