| 关键词: nbsp Byte old timer typeset proc dif eth print grep |
这是一个简单的脚本,通过定时读取/proc/net/dev文件来得出某个时刻输出的速度和输入的速度。 代码如下: #!/bin/bash # test network width function usage { echo "Usage: $0 " echo " e.g. $0 eth0 2" exit 65 } if [ $# -lt 2 ];then usage fi typeset in in_old dif_in typeset out out_old dif_out typeset timer typeset eth eth=$1 timer=$2 in_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' ) out_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' ) while true do sleep ${timer} in=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' ) out=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' ) dif_in=$(((in-in_old)/timer)) dif_out=$(((out-out_old)/timer)) echo "IN: ${dif_in} Byte/s OUT: ${dif_out} Byte/s" in_old=${in} out_old=${out} done exit 0执行的效果如下: # ./netwidth eth1 2 IN: 14293 Byte/s OUT: 33869 Byte/s IN: 123571 Byte/s OUT: 88281 Byte/s IN: 6485 Byte/s OUT: 38938 Byte/s其实ifconfig eth1输出结果中的 RX和TX数据一致的。 RX bytes:1662142572 (1.5 GiB) TX bytes:3408404141 (3.1 GiB) |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|