在Linux系统中,可以通过以下几种方法判断网络接口是百兆(100Mbps)还是千兆(1000Mbps):
ethtool
命令ethtool
是最直接的工具,可以查看网卡支持的速率和当前协商的速率。
安装 ethtool(如果未安装):
sudo apt install ethtool # Debian/Ubuntu
sudo yum install ethtool # CentOS/RHEL
sudo dnf install ethtool # Fedora
查询网卡信息(如网卡名为 eth0
或 ens33
):
sudo ethtool eth0
输出示例:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full # 支持千兆
Speed: 1000Mb/s # 当前速率为千兆
Duplex: Full
Port: Twisted Pair
Speed
:当前速率(100Mb/s
为百兆,1000Mb/s
为千兆)。Supported link modes
:支持的速率模式(若有 1000baseT
则支持千兆)。/sys/class/net/
信息通过系统文件直接查看当前速率:
cat /sys/class/net/eth0/speed
100
表示百兆,1000
表示千兆。dmesg
或内核日志检查内核启动时的网卡协商记录:
dmesg | grep -i ethernet
输出中可能包含类似信息:
[ 5.123456] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex
ip
或 ifconfig
查看虽然不能直接显示速率,但可以确认网卡名称和状态:
ip a # 查看所有网卡
ifconfig -a # 旧版工具(部分系统需安装 net-tools)
bash
lspci | grep -i ethernet
根据型号搜索其规格(如 Intel I350
是千兆网卡)。Unknown
:
dmesg
报错)。bash
sudo ethtool -s eth0 speed 1000 duplex full autoneg on
ethtool <网卡名>
+ 检查 Speed
字段。cat /sys/class/net/<网卡名>/speed
。