linux - 如何检测网线/连接器的物理连接状态?

在 Linux 环境中,我需要检测 RJ45 连接器与其 socket 的物理连接或断开状态。最好只使用 BASH 脚本。

其他网站上提出的以下解决方案不适用于此目的:

  1. 使用“ifconfig” - 因为可能已连接网络电缆,但网络未正确配置或当前未启动。
  2. Ping 主机 - 因为产品将在 LAN 中使用未知的网络配置和未知的主机。

难道没有一些状态可以在/proc 文件系统中使用(其他的都在里面)吗?

Linux 世界如何假设他们自己版本的 Windows 气泡会从图标托盘中弹出,表明您刚刚拔掉了网络电缆?


Kent Fredriclothar,您的两个答案都满足了我的需求……非常感谢!我会用哪一个……我还是不知道。

我想我不能把你们两个都当作正确答案?我确实选择了一个,这对你来说可能是公平的。我猜掷硬币?再次感谢!

最佳答案

你要查看节点

/sys/class/net/

I experimented with mine:

Wire Plugged in:

eth0/carrier:1
eth0/operstate:unknown

拆线:

eth0/carrier:0
eth0/operstate:down

再次插入电线:

eth0/carrier:1
eth0/operstate:up

小窍门:一次获取所有属性的简单方法:

grep "" eth0/* 

这形成了一个很好的 key:value 对列表。

https://stackoverflow.com/questions/808560/

相关文章:

python - Python SciPy 需要 BLAS 吗?

python - 如何检查有效的电子邮件地址?

python - 更改 pandas DataFrame 中的特定列名

python - 在 scikit-learn 中将分类器保存到磁盘

linux - 从文件列表中获取输入的 Tar 归档

python - 为什么元组可以包含可变项?

linux - 当程序具有命令行参数时,如何使用 GDB 分析程序的核心转储文件?

python - Django CSRF 检查因 Ajax POST 请求而失败

linux - 移动除一个以外的所有文件

linux - 您可以将 Amazon EBS 附加到多个实例吗?