用的操作系统是Ubuntu Server 18.04,所以在网上查阅的在linux命令行查看实时网速不适用,然后稍作修改就可以用在Ubuntu Server 18.04里了。
脚本如下: $ cat current_net_speed.sh #!/bin/sh LANG="" while true do up_time1=`ifconfig $1 | grep "TX packets" | awk '{print $5}'` down_time1=`ifconfig $1 | grep "RX packets" | awk '{print $5}'` sleep 1 clear up_time2=`ifconfig $1 | grep "TX packets" | awk '{print $5}'` down_time2=`ifconfig $1 | grep "RX packets" | awk '{print $5}'` up_time=`expr $up_time2 - $up_time1` down_time=`expr $down_time2 - $down_time1` up_time=`expr $up_time / 1024` down_time=`expr $down_time / 1024` echo 上传速度: $up_time KB/s echo 下载速度: $down_time KB/s done
执行: $ ./current_net_speed.sh enp2s0
ifconfig的结果需要是下面这种样式的:
原理: 通过ifconfig,我们可以查看截止目前已上传/下载的数据量,即上图中的下面两行bytes后面的数据,RX为下载的(29079102145),TX为上传的(503541267103)。 RX packets 109476405 bytes 29079102145 (29.0 GB) TX packets 345059512 bytes 503541267103 (503.5 GB) 那么,我们每秒钟获取一次上传/下载的数据量,其差值就是上传/下载速度了。
附在linux命令行查看实时网速的文章 在使用ubuntu系统的时候(Ubuntu 18.04用户按上面修改的脚本做。),有时会查看系统当前的网速是多少,这个不必要去寻找一款网速查看工具,因为直接在终端里就能用命令查看网速了。这里我直接用shell脚本来实现,非常的简单。 脚本代码如下: LANG="" while true do up_time1=`ifconfig $1 | grep "bytes" | awk '{print $6}'` down_time1=`ifconfig $1 | grep "bytes" | awk '{print $2}'` sleep 1 clear up_time2=`ifconfig $1 | grep "bytes" | awk '{print $6}'` down_time2=`ifconfig $1 | grep "bytes" | awk '{print $2}'` up_time1=${up_time1} up_time2=${up_time2} down_time1=${down_time1} down_time2=${down_time2} up_time=`expr $up_time2 - $up_time1` down_time=`expr $down_time2 - $down_time1` up_time=`expr $up_time / 1024` down_time=`expr $down_time / 1024` echo 上传速度: $up_time kb/s echo 下载速度: $down_time kb/s done 最后给该文件添加可执行权限后执行./run.sh wlan0. 注明:这里使用的是无线网络,所以网卡默认选择wlan0,如果你的连接方式是有线网络,那么默认应该选择eth0。
相关主题 |