如何打印给定 mac 的接口?

How to print the interfaces given a mac?

在给定 mac 的情况下是否有打印接口名称的命令或者我应该解析它?如果有的话,有可靠的方法吗?

basename -a $(ls /sys/devices/**/net/* -d)

ifconfig   | cut -c 1-8 | sort | uniq -u

好像不靠谱

解析 ifconfig 输出始终是一个不确定的命题(因为 ifconfig 旨在生成人类可读的输出,而不是机器可读的输出)。

最好的信息来源是 /sys/class/net/<device>/address 文件。例如:

$ 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

...然后从该路径获取接口名称。