如何在Linux中查找网络电缆的连接状态
时间:2020-03-21 11:44:27 来源:igfitidea点击:
在这篇简短的教程中,我们将学习如何了解网络电缆是否连接或者不使用网络接口卡。
我们可以直接转移并检查系统背面的物理网络插槽,以查找电缆是否已连接,但不必要。
我们可以使用我们所在的简单命令执行此操作。
可能有很多方法可以做到这一点。
但是,我发现以下方法比其他方法更容易。
如果我们想知道如何查找网络电缆的连接状态,请在此处在UNIX的操作系统上进行操作。
找出Linux中的网络电缆的连接状态
方法1
要查找Linux中的网络电缆的连接状态,请运行:
$cat /sys/class/net/enp5s0/carrier
示例输出:
1
如果输出作为"1"(第一个),则意味着网络电缆与网卡连接。
此外,我们还可以使用以下命令执行此操作:
$cat /sys/class/net/enp5s0/operstate
示例输出:
up
与我们在上述输出中一样,网络电缆与LAN适配器连接。
其中"ENP5S0"是我的网卡名称。
我们可以使用"ifconfig"或者"ip addr"命令找到网卡的名称。
不仅有线网卡,我们也可以找到无线网卡的状态。
为此,运行:
$cat /sys/class/net/wlp9s0/carrier
示例输出:
1
或者,
$cat /sys/class/net/wlp9s0/operstate
示例输出:
up
现在,只需断开网络电缆并检查输出将是什么。
$cat /sys/class/net/enp5s0/carrier
示例输出:
0
或者,
$cat /sys/class/net/enp5s0/operstate
示例输出:
down
看到了吗?
我们得到了"0"(零)和"向下"的结果,这意味着电缆未连接。
无论我们是否将IP地址配置到网卡,都无关紧要。
我们可以轻松了解电缆是否已连接或者不使用上述命令。
方法2:
如果上述命令没有帮助,则还有另一个名为"ethtool"的工具来。
Ethtool用于查询和控制网络设备驱动程序和硬件设置,特别是对于有线以太网设备。
运行以下命令以找出网络电缆的连接状态:
$sudo ethtool enp5s0
示例输出:
Settings for enp5s0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Transmit-only Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: yes
要了解无线网卡的状态:
$sudo ethtool wlp9s0
示例输出:
Settings for wlp9s0: Link detected: yes
让我们断开电缆,看看会发生什么。
$sudo ethtool enp5s0
示例输出:
Settings for enp5s0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: Transmit-only Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) drv probe ifdown ifup Link detected: no
如上所述,网线未插入。
方法3:
我们的一个读者建议的另一个好方法使用"IP"命令。
$ip a
示例输出将是:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff inet 192.168.43.192/24 brd 192.168.43.255 scope global wlp9s0 valid_lft forever preferred_lft forever inet6 fe80::c218:85ff:fe50:474f/64 scope link valid_lft forever preferred_lft forever