云网牛站
所在位置:首页 > Linux命令 > Linux命令行查看当前上传/下载速度

Linux命令行查看当前上传/下载速度

2018-07-12 15:36:42作者:大熊猫稿源:linux站

用的操作系统是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的结果需要是下面这种样式的:

Linux命令行查看当前上传/下载速度

 

原理:

通过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。

 

相关主题

Ubuntu Server 18.04下sudo速度很慢原因及解决办法

Linux命令子频道
精选文章
热门文章