私たち全員が知っているように、Windowsではネットワークケーブルを接続するとネットワークシンボルが別の状態に変わります。
Linuxでコマンドプロンプトを介してケーブルが接続されていることを確認する方法は?
ベストアンサー1
私が見た主な2つの方法はusingethtool
またはmanual parsingです/sys
。
イーサネットツール
たとえば、インターフェイスがある場合は、「リンク検出済み」行をeth0
使用してクエリを実行してethtool
解析できます。
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
具体的には、次のコマンドは次のようになります。
$ ethtool eth0 | grep "Link"
Link detected: yes
下に下がると「いいえ」と表示されます。
/sysの使用
もう一度興味があると仮定すると、eth0
手動で解析できます。/sys/class/net/
それからeth0
あなたのデバイスについて。このディレクトリには、リンクが有効になっているかどうかを示す2つのファイルがありますcarrier
。operstate
ワイヤが接続されると、2つのファイルは次のようになります。
$ cat /sys/class/net/eth0/{carrier,operstate}
1
up
回線接続が失われると、両方のファイルが次のように表示されます。
$ cat /sys/class/net/eth0/{carrier,operstate}
0
down