linux shell脚本 查看当前上传下载速度

目录

脚本

执行脚本

原理


脚本

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

执行脚本

bash current_net_speed.sh enp2s0

其中 enp2s0 是网卡名称

原理

ifconfig 结果如下:

$ ifconfig
......
 
enp2s0: flags=xxxx<UP,BROADCAST,RUNNING,MULTICAST>  mtu xxxx
        inet 192.168.0.55  netmask 255.xxx.xxx.xxx  broadcast 192.xxx.xxx.xxx
        inet6 xxxx::xxxx:xxxx:xxxx:xxxx  prefixlen xx  scopeid 0xxx<link>
        ether xx:xx:xx:xx:xx:xx  txqueuelen xxx  (Ethernet)
        RX packets 109476405  bytes 29079102145 (29.0 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 345059512  bytes 503541267103 (503.5 GB)

通过ifconfig,我们可以查看截止目前已上传/下载的数据量,即下面两行bytes后面的数据,RX为下载的,TX为上传的。

        RX packets 109476405  bytes 29079102145 (29.0 GB)
        TX packets 345059512  bytes 503541267103 (503.5 GB)

那么,我们每秒钟获取一次上传/下载的数据量,其差值就是上传/下载速度了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 shell 脚本,用于上文件到远程服务器的 SFTP,并在上完成后进行文件校验: ``` #!/bin/bash # 服务器信息 host="remote.server.com" username="username" password="password" # 本地文件路径和名称 local_file="/path/to/local/file" remote_file="/path/to/remote/file" # 上文件到 SFTP sftp -oBatchMode=no -b - $username@$host << END_SCRIPT put $local_file $remote_file quit END_SCRIPT # 获取远程文件的 MD5 校验值 remote_md5=$(ssh $username@$host "md5sum $remote_file" | awk '{print $1}') # 获取本地文件的 MD5 校验值 local_md5=$(md5sum $local_file | awk '{print $1}') # 比较 MD5 校验值 if [ "$local_md5" == "$remote_md5" ]; then echo "文件上并校验成功!" else echo "文件上失败或校验不通过!" fi ``` 在脚本中,您需要将 `host`、`username` 和 `password` 替换为您的远程服务器信息。`local_file` 和 `remote_file` 变量则指定要上的本地文件路径和名称以及远程服务器上的文件路径和名称。 脚本使用 `sftp` 命令将本地文件上到远程服务器上。然后,它使用 `ssh` 命令获取远程文件的 MD5 校验值,并使用 `md5sum` 命令获取本地文件的 MD5 校验值。最后,脚本比较这两个值以确保文件已成功上并且校验通过。 您可以将此脚本保存为 `.sh` 文件,然后使用 `chmod +x script.sh` 命令使其可执行。接下来,您可以通过在终端中输入脚本名称来运行它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值