下面是一个测试网卡流量的脚本,脚本内容如下:

#!/bin/bash
function usage
{
echo "use ./test_net.sh ethX time"
echo "$1 is you network interface "
echo "$2 is the last time!"
echo "for example: ./test_net.sh eth0 2"
exit 100
}

if [ $# -lt 2 -o $# -gt 2 ];then
usage
fi

eth=$1
time=$2

old_inbw=`cat /proc/net/ dev | grep $eth | awk -F'[: ]+' '{print $3}'`
old_outbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $11 }'`

while true
do
sleep $time
new_inbw=`cat /proc/net/dev | grep $eth | awk -F'[:]+' '{print $3}'`
new_outbw=`cat /proc/net/dev | grep $eth | awk -F'[: ]+' '{print $11}'`
inbw=`expr $((($new_inbw-$old_inbw)/$time)) `
outbw=`expr $((($new_outbw-$old_outbw)/$time))`
echo "$eth: IN:$inbw bytes OUT:$outbw bytes"
old_inbw=${new_inbw}
old_outbw=${new_outbw}
done
exit 0


运行效果:
[root@bogon shell]# ./test_net.sh eth0 2
eth0: IN:3097 bytes OUT:50374 bytes
eth0: IN:3158 bytes OUT:44202 bytes
eth0: IN:2587 bytes OUT:58932 bytes
eth0 : IN:2104 bytes OUT:51543 bytes