在linux系统中,判断网络端口是百兆还是千兆可以通过多个系统命令实现,不同的命令适用场景略有区别,用户可以根据自身系统环境选择合适的工具完成检测。

方法一:使用ethtool命令检测
ethtool是linux下专门用于查询和设置网卡参数的工具,能够直接显示网卡的速率、双工模式、端口类型等详细信息,是判断网络速率最常用的工具。
首先确认系统是否安装了ethtool,如果没有安装可以通过包管理器安装:
# Ubuntu/Debian系统安装 sudo apt install ethtool # CentOS/RHEL系统安装 sudo yum install ethtool
安装完成后,执行以下命令查看指定网卡的信息,其中网卡名称可以通过ip addr命令获取,常见网卡名称如eth0、ens33等:
sudo ethtool eth0
命令输出中,Speed字段就是当前网卡的运行速率,如果显示100Mb/s就是百兆网络,显示1000Mb/s就是千兆网络,Duplex字段表示双工模式,Full为全双工,Half为半双工。
方法二:使用ip link命令检测
ip link是iproute2工具集里的命令,大部分现代linux系统都默认自带,不需要额外安装,也可以查看网卡的基础速率信息。
执行以下命令查看所有网卡的状态:
ip link show
如果要查看指定网卡的详细信息,可以加上网卡名称:
ip link show eth0
在输出结果中,找到speed相关的字段,后面跟随的数值就是速率,100表示百兆,1000表示千兆,同时还能看到duplex字段显示双工模式,state字段显示网卡是否处于UP状态。
方法三:使用ifconfig命令检测
ifconfig是传统的网络配置命令,部分较新的linux发行版默认没有预装,需要安装net-tools工具包才能使用。
安装net-tools的命令如下:
# Ubuntu/Debian系统 sudo apt install net-tools # CentOS/RHEL系统 sudo yum install net-tools
执行ifconfig查看网卡信息:
ifconfig eth0在输出结果中,RX和TX部分的统计信息上方,会显示网卡的速率,比如显示100baseT full-duplex就表示百兆全双工,1000baseT full-duplex就表示千兆全双工。
不同方法的结果对比
三种方法的输出信息对比如下:
| 命令 | 百兆网络显示内容 | 千兆网络显示内容 | 是否需要额外安装 |
|---|---|---|---|
| ethtool | Speed: 100Mb/s | Speed: 1000Mb/s | 是 |
| ip link | speed 100 | speed 1000 | 否 |
| ifconfig | 100baseT full-duplex | 1000baseT full-duplex | 是 |
注意事项
- 如果网卡速率显示和实际接入的网络不符,需要检查网线是否支持千兆,路由器或交换机端口是否开启了千兆模式。
- 部分虚拟机的虚拟网卡速率显示可能不准确,需要以宿主机实际网络配置为准。
- 如果网卡处于down状态,部分命令可能无法获取到速率信息,需要先通过
sudo ip link set eth0 up命令将网卡启动。
通过以上几种方法,就可以快速准确地判断linux系统的网络是百兆还是千兆,用户可以根据系统环境选择最适合自己的检测方式。