Rocky Linux 9 查看实时上下行网速

首次发布:2026-06-05

1. 生成测速脚本(仅第一次执行)

执行命令(直接复制粘贴到 Xshell 回车):

cat > netspeed.sh <<'EOF'
#!/bin/bash
DEV="eth0"
while true
do
old_rx=$(awk '/'$DEV'/ {print $2}' /proc/net/dev)
old_tx=$(awk '/'$DEV'/ {print $10}' /proc/net/dev)
sleep 1
new_rx=$(awk '/'$DEV'/ {print $2}' /proc/net/dev)
new_tx=$(awk '/'$DEV'/ {print $10}' /proc/net/dev)

rx_kb=$(( (new_rx - old_rx)/1024 ))
tx_kb=$(( (new_tx - old_tx)/1024 ))
echo "【总下行RX:$rx_kb KB/s | 总上行TX:$tx_kb KB/s】"
done
EOF
chmod +x netspeed.sh
./netspeed.sh

执行后会在当前目录自动生成 netspeed.sh

enp9s0 是网卡名称

查看网卡命令:ip addr(有线网卡一般为 enp 开头)

2. 后续查看实时网速

./netspeed.sh

RX = 下行(下载)

TX = 上行(上传)

停止查看:Ctrl + C

停止后不占用任何系统资源,无后台残留


功能扩展,下面是显示每秒的实时速度和最1分钟的平均速度

cat > netspeed.sh <<'EOF'
#!/bin/bash
DEV="eth0"
second=0
sum_rx=0
sum_tx=0

while true
do
    old_rx=$(awk '/'$DEV'/ {print $2}' /proc/net/dev)
    old_tx=$(awk '/'$DEV'/ {print $10}' /proc/net/dev)
    sleep 1
    new_rx=$(awk '/'$DEV'/ {print $2}' /proc/net/dev)
    new_tx=$(awk '/'$DEV'/ {print $10}' /proc/net/dev)

    rx=$(( (new_rx - old_rx) / 1024 ))
    tx=$(( (new_tx - old_tx) / 1024 ))

    second=$((second + 1))
    sum_rx=$((sum_rx + rx))
    sum_tx=$((sum_tx + tx))

    echo "【实时每秒】下行:$rx KB/s | 上行:$tx KB/s"

    if [ $second -ge 60 ]; then
        avg_rx=$((sum_rx / 60))
        avg_tx=$((sum_tx / 60))
        echo "====================================================="
        echo "【最近1分钟平均】下行:$avg_rx KB/s | 上行:$avg_tx KB/s"
        echo "====================================================="
        second=0
        sum_rx=0
        sum_tx=0
    fi
done
EOF
chmod +x netspeed.sh
./netspeed.sh

本文来自 www.luofenming.com