您好,我正在尝试将 grep 与 nload 命令一起使用来获取当前的传输速度:
nload | grep Curr:
但是,如果我尝试这个命令,我只得到空输出,并且必须使用 Control+C 退出,有什么建议我做错了什么吗?
答案1
显然 nload 是一个纯交互程序,不提供批处理模式,但它的 man 声明该程序使用 /sys/class/net/ FS。您可以通过执行相同的操作编写脚本来监视 RX 或 TX 带宽:
监控eth0当前下载速度:
cd /sys/class/net/eth0/statistics
old="$(<rx_bytes)"; while $(sleep 1); do
now=$(<rx_bytes); echo $((($now-$old)/1024)) KB/s; old=$now; done
如果需要,将 eth0 更改为您的接口名称。替换rx_bytes
为tx_bytes
以监控上传速度。
答案2
这也是显示 Mbps 而不是千字节的 1 行。
old="$(</sys/class/net/eth0/statistics/tx_bytes)"; while $(sleep 1); do
now=$(</sys/class/net/eth0/statistics/tx_bytes); echo $((($now-$old)/131072))
Mb/s; old=$now; done