在Linux环境中,我需要检测RJ45连接器到其插座的物理连接或断开状态。最好只使用BASH脚本。
以下在其他网站上提出的解决方案不适用于此目的:
是不是有一些可以在/ proc文件系统中使用的状态(一切都在那里)?
Linux世界如何假设自己版本的Windows泡泡从图标托盘弹出,表明您刚刚拔掉了网线?
Kent Fredric和lothar,你的答案都满足我的需要......非常感谢!我会用哪一个...我仍然不知道。
我想我不能把你们都当成正确的答案吗?对我来说,我确实选择了一个。翻转一枚硬币,我猜?再次,谢谢!
发布于 2018-04-02 11:36:49
你想看看里面的节点
/ SYS /班/网/
我对我的实验:
电线插入:
eth0/carrier:1
eth0/operstate:unknown
拆下的电线:
eth0/carrier:0
eth0/operstate:down
电线再次插入:
eth0/operstate:up
eth0/carrier:1
Side Trick:一次收获所有物业的简单方法:
grep "" eth0/*
这形成了一个很好的配对列表 key:value
。
发布于 2018-04-02 12:42:00
你可以使用ethtool:
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
要仅获得链接状态,您可以使用grep:
$ sudo ethtool eth0 | grep Link
Link detected: yes
https://stackoverflow.com/questions/-100007904
复制相似问题