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