首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检测网线/连接器的物理连接状态?

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

Stack Overflow用户
提问于 2018-04-02 03:02:25
回答 2查看 0关注 0票数 0

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

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

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

是不是有一些可以在/ proc文件系统中使用的状态(一切都在那里)?

Linux世界如何假设自己版本的Windows泡泡从图标托盘弹出,表明您刚刚拔掉了网线?

Kent Fredriclothar,你的答案都满足我的需要......非常感谢!我会用哪一个...我仍然不知道。

我想我不能把你们都当成正确的答案吗?对我来说,我确实选择了一个。翻转一枚硬币,我猜?再次,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-04-02 11:36:49

你想看看里面的节点

代码语言:javascript
复制
/ SYS /班/网/

我对我的实验:

电线插入:

代码语言:javascript
复制
eth0/carrier:1
eth0/operstate:unknown

拆下的电线:

代码语言:javascript
复制
eth0/carrier:0
eth0/operstate:down

电线再次插入:

代码语言:javascript
复制
eth0/operstate:up
eth0/carrier:1

Side Trick:一次收获所有物业的简单方法:

代码语言:javascript
复制
grep "" eth0/* 

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

票数 0
EN

Stack Overflow用户

发布于 2018-04-02 12:42:00

你可以使用ethtool

代码语言:javascript
复制
$ 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:

代码语言:javascript
复制
$ sudo ethtool eth0 | grep Link
    Link detected: yes
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档