1. ホーム
  2. linux

[解決済み] ネットワークケーブル/コネクタの物理的な接続状態を検出するにはどうすればよいですか?

2022-04-28 03:16:04

質問

Linux環境で、RJ45コネクタのソケットへの物理的な接続または切断の状態を検出する必要があります。 できれば、BASHスクリプトのみを使用してください。

他のサイトで提案されている以下の解決策は、この目的には使えません。

  1. ifconfig」を使用する - ネットワークケーブルは接続されているが、ネットワークが正しく設定されていない、または現在起動していない可能性があるためです。
  2. ホストにPingを打つ - 本製品はLAN内で未知のネットワーク構成と未知のホストを使用するため。

procファイルシステムで使用できる状態があるのでは(他のものはすべてその中にある)?

Windowsのバブルがアイコントレイからポップアップして、ネットワークケーブルを抜いたことを示すのを、Linuxの世界はどうやって独自バージョンにするんだろう?


ケント・フレデリック ローサー お二人の回答は、私のニーズを満たしてくれました。 どっちを使おうかな... まだわかりません。

お二人を正解とすることはできないのでしょうか? そして、私がどちらかを選ぶことは、あなたにとって公平なことでしょう。 コインで決める? また、ありがとうございました

解決方法は?

のノードを見たいとします。

/sys/class/net/

私のは実験してみました。

ワイヤーを差し込んだ状態。

eth0/carrier:1
eth0/operstate:unknown

ワイヤーを取り外した。

eth0/carrier:0
eth0/operstate:down

ワイヤーが再び差し込まれる。

eth0/carrier:1
eth0/operstate:up

<サブ サイドトリック:簡単な方法ですべてのプロパティを一度に収穫する。

grep "" eth0/* 

これは key:value のペアを作成します。