Wi-Fiインターフェースデバイス名を取得する

Wi-Fiインターフェースデバイス名を取得する

似ているネットワークデバイス名の検索に関する以前の質問、(信頼できる)デバイス名のリストを取得したいが、Wi-Fiデバイスにのみ適用されます。命名構造に応じて、次のようになります。

wlan0
wlan1

または

wlp5s0
wlp5s1

ベストアンサー1

nmcli次のすべてのデバイスと種類を一覧表示できます。

nmcli --get-values GENERAL.DEVICE,GENERAL.TYPE デバイスの表示
eno1
ethernet

wlp1s0
wifi

wlp1s1
wifi

p2p-dev-wlp1s0
wifi-p2p

lo
loopback

-g, --get-valuesマニュアルによると、使用時「簡潔に出力されます。このモードはコンピュータ(スクリプト)処理用に設計されています。」。したがって、その出力を別のツールにパイプして、次のようなWi-Fiデバイス名を取得できます。

nmcli ... | sed '/^wifi/!{h;d;};x'

または

nmcli ... | awk '/^wifi/{print dev; next};{dev=$0};'

Linuxでは、次のコマンドを使用してiwワイヤレスデバイスとその設定を表示/操作することもできます。dev

Commands:
    dev
        List all network interfaces for wireless hardware.

それは

iw dev

次のような結果が得られます。

phy#0
    Interface wlan0
        ifindex 3
        wdev 0x1
        addr 00:12:32:e4:18:24
        type managed
phy#1
    Interface wlan1
        ifindex 4
        wdev 0x2
        addr 00:12:22:c6:b2:0a
        type managed

インターフェイス名だけを抽出するには、次のように出力を処理します。

iw dev | awk '$1=="Interface"{print $2}'

ヘルプページに次のように明確に記載されていることを覚えておいてください。

Do NOT screenscrape this tool, we don't consider its output stable.

おすすめ記事