2016-03-31 14 views
0

macを指定してインタフェース名を印刷するコマンドがありますか、それとも解析する必要がありますか?もしそうなら信頼できる方法がありますか? (ifconfigは、人間が読み取り可能な出力ではなく、機械読み取り可能な出力を生成するように設計されているため)macを指定してインターフェイスを印刷する方法は?

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

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

ifconfig出力を解析すると、あやふやな命題が常にある

答えて

2

信頼性があるとは思えません。

最高の情報源は/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 

...そしてそのパスからインターフェイス名を取得します。

+0

grep -l 07:00:27:ad:66:4c/sys/class/net/*/address | awk -F '/' '{print $ 5}' – Victor

関連する問題