Linuxにおいて、物理NICのMACアドレスを取得する方法です。
スクリプトに組み込んで自動化したい場合など、ip addr
の出力からテキスト処理して…とか、考えたくありません。
どうしたものかと色々調べていたら、Webで良さげな一行野郎 one liner がありました。それを更に一工夫したのがこちらです。
find /sys/devices \! -path "*/virtual/*" -path "*/net/*" -name address -execdir cat {} +
実行スピードが若干気になりますが、そこまで本気で速度を求められるような事も無いでしょう。まあ、その時はその時です。
(2019/08/31 追加ここから)
MACアドレスではなくてNICそのものの名称を取得する場合は下記の通りです。
find /sys/devices \! -path "*/virtual/*" -path "*/net" -exec ls {} \;
(2019/08/31 追加ここまで)
ともあれ、これでスクリプト化が簡単になります。やったね