アクティブなネットワークインターフェイスの名前のみを検索します。

アクティブなネットワークインターフェイスの名前のみを検索します。

Linuxでは、コマンドライン(またはシェルスクリプト)からアクティブなネットワークインターフェイスの名前だけを取得するにはどうすればよいですか?アクティブなインターフェイスが複数ある場合は、1つだけを選択してください(任意に選択)。

ベストアンサー1

現代的なアプローチはコマンドを使用することですip。たとえば、ワイヤレス接続が有効なシステムでは、次の結果が表示されます。

$IP アドレスを表示
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 UNKNOWN グループのデフォルト
    リンク/ループバック00:00:00:00:00:00広い00:00:00:00:00:00
    イントラネット127.0.0.1/8 スコープホスト lo
       常に valid_lft 常に優先_lft
    イントラネット6::1/128 スコープホスト
       常に valid_lft 常に優先_lft
2:eno1:<キャリアなし、ブロードキャスト、マルチキャスト、アップ> mtu 1500 qdisc fq_codelステータスDOWNグループデフォルト値qlen 1000
    リンク/ether00:26:b9:dd:2c:28広いff:ff:ff:ff:ff:ff
3:wlp3s0b1:<BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1500 qdisc mqステータスUPグループデフォルトqlen 1000
    リンク/etherc4:46:19:5f:dc:f5広いff:ff:ff:ff:ff:ff
    イントラネット192.168.1.4/24広い192.168.1.255 範囲グローバル wlp3s0b1                            
       常に valid_lft 常に優先_lft
    イントラネット6 fe80::c646:19ff:fe5f:dcf5/64 範囲リンク
       常に valid_lft 常に優先_lft
16: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue 状態 不明なグループ デフォルト値 qlen 100
    リンク/なし
    イントラネット123.167.217.2/24広い123.167.217.255 範囲グローバル tun0                            
       常に valid_lft 常に優先_lft

アクティブインターフェイスにはエントリとinetブロードキャスト(brd)アドレスがあります。次のコマンドを使用して、これらのすべてのインターフェイスを表示できます。

$ ip addr show | awk '/inet.*brd/{print $NF}'
wlp3s0b1
tun0

1つだけを希望する場合は、次の項目を使用して最初の項目のみを取得できます。

$ ip addr show | awk '/inet.*brd/{print $NF; exit}'
wlp3s0b1

このexitステートメントは、awk最初の一致を見つけた後、検索を停止するように指示します。

おすすめ記事