在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 onethtool <网卡名> + 检查 Speed 字段。cat /sys/class/net/<网卡名>/speed。