コマンドラインからネットワークインターフェイス名とMACアドレスを取得します。

コマンドラインからネットワークインターフェイス名とMACアドレスを取得します。

コマンドを実行すると

ip link | awk '{print $2}'

Ubuntu 18.04では、次の結果が表示されます。

lo:
00:00:00:00:00:00
wlp1s0:
2c:6e:85:bf:01:00
enp2s0:
14:18:77:a3:01:02

次のように書式設定したいと思います。 (なしlo

wlp1s0: 2c:6e:85:bf:01:00
enp2s0: 14:18:77:a3:01:02

どうすればいいですか?

ベストアンサー1

MACアドレスは以下から取得できます/sys/class/net/<dev>/address

$ cat /sys/class/net/enp0s3/address
08:00:27:15:dc:fd

したがって、次のようになります。

find /sys/class/net -mindepth 1 -maxdepth 1 ! -name lo -printf "%P: " -execdir cat {}/address \;

私にしてください:

enp0s3: 08:00:27:15:dc:fd
docker0: 02:42:61:cb:85:33

あるいは、ip1行モードを使用すると、スクリプトが簡単になります。

$ ip -o link | awk '$2 != "lo:" {print $2, $(NF-2)}'
enp0s3: 08:00:27:15:dc:fd
docker0: 02:42:61:cb:85:33

おすすめ記事