如何在Linux上检测物理电缆是否连接到网卡插槽如何在Linux上检测物理电缆是否连接到网卡插槽如何在Linux上检测物理电缆是否连接到网卡插槽如何在Linux上检测物理电缆是否连接到网卡插槽
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在Linux上检测物理电缆是否连接到网卡插槽

发表 admin at 2025年2月28日
类别
  • 未分类
标签

如果您需要知道物理电缆是否连接到 Linux 系统上的网络端口,您不一定需要在计算机或服务器前面查看。我们可以从 Linux 命令行使用多种方法来查看电缆是否已插入网络插槽。

有几个原因可以解释为什么这会派上用场。首先,它向您显示系统本身是否检测有电缆插入。如果您确实知道电缆已正确插入,但系统仍处于故障状态,那么这可能是一个重要的故障排除步骤。没有检测到它。它对于远程系统也很有帮助,或者如果您懒得查看计算机背面并查看电缆是否已插入。

查看下面的一些示例,其中我们将介绍检查物理网络电缆是否已插入的各种命令。

在本教程中您将学习:

  • 如何使用 Bash 命令和 ethtool 检测物理网线连接

用于在 Linux 上检测已连接网线的各种命令

检测物理电缆是否已连接

可以使用各种工具来检测物理电缆载体状态。然而,完成此任务最简单的方法是使用基本的本机工具,例如 cat 或 grep,从而避免安装额外的软件。请查看下面的方法以了解具体操作方法。

  1. 让我们首先以低级且与 Linux 发行版无关的方式测试物理电缆连接的 eth0 网络接口:

    
    # cat /sys/class/net/eth0/carrier 
    1
    

    上述输出中的数字 1 表示网络电缆已物理连接到网卡插槽。

  2. 接下来,我们将测试第二个网络接口 eth1:

    
    # cat /sys/class/net/eth1/carrier 
    cat: /sys/class/net/eth1/carrier: Invalid argument
    

    上述命令的输出很可能意味着 eth1 网络接口处于断电状态。这可以通过以下 linux 命令来确认:

    
    # cat /sys/class/net/eth1/operstate 
    down
    

    网线可以连接,但暂时无法判断。在检查物理电缆连接之前,我们需要设置接口:

    
    # ip link set dev eth1 up
    

    在此阶段我们可以再次检查网卡物理电缆连接:

    
    # cat /sys/class/net/eth1/carrier 
    0
    
  3. 根据上面的输出,我们可以说物理电缆已从网卡插槽断开。让我们简单地看看如何自动执行上述过程以一次检查多个网络接口。以下命令将列出 Linux 系统上所有可用的网络接口:

    
    # for i in $( ls /sys/class/net ); do echo $i; done
    eth0
    eth1
    lo
    wlan0
    

    使用 bash for 循环,我们现在可以检查所有网络接口是否已连接网络电缆:

    
    # for i in $( ls /sys/class/net ); do echo -n $i: ; cat /sys/class/net/$i/carrier; done
    eth0:1
    eth1:0
    lo:1
    wlan0:cat: /sys/class/net/wlan0/carrier: Invalid argument
    

使用 ethtool 测试物理电缆连接

现在,如果您真的想尝试一下,可以使用 ethtool 命令来完成上述任务。以下是在主要 Linux 发行版上安装该软件的方法:

要在 Ubuntu、Debian 和 Linux Mint 上安装 ethtool:


$ sudo apt install ethtool

要在 CentOS、Fedora、AlmaLinux 和 Red Hat 上安装 ethtool:


$ sudo dnf install ethtool

要在 Arch Linux 和 Manjaro 上安装 ethtool:


$ sudo pacman -S ethtool

现在已安装,您可以使用以下一个或多个命令来测试物理电缆的网络连接。

  1. 要检查单个网卡的电缆连接,请使用以下命令。作为示例,让我们检查 eth1 接口:

    
    #  ethtool eth1 | grep Link\ d
    	Link detected: no
    
  2. 或者我们可以再次使用 bash for 循环来检查所有网络接口一次:

    
    # for i in $( ls /sys/class/net ); do echo -n $i; ethtool $i | grep Link\ d; done
    eth0	Link detected: yes
    eth1	Link detected: no
    lo	Link detected: yes
    wlan0	Link detected: no
    

    上述 ethtool 输出的唯一问题是,如果您的网络接口关闭,它不会检测到已连接的电缆。考虑以下示例:

    
    # ethtool eth0 | grep Link\ d
            Link detected: yes
    # ip link set dev eth0 down
    # ethtool eth0 | grep Link\ d
            Link detected: no
    

结束语

在本指南中,我们了解了如何检测物理电缆是否连接到 Linux 上的网卡插槽。这可以方便地检查远程计算机上的连接,或者只是作为故障排除步骤来查看您的系统是否检测到物理电缆。如果您插入了电缆,但系统未检测到它,则可能意味着您缺少网络驱动程序或网卡完全有故障。

©2015-2025 Norria support@alaica.com