Linux的发展迅速,在短短的时间里已经赶上了微软,让微软也重视了这个对手,也许你在学习Linux,这里讲解查看Linux网口流量的脚本问题,希望能学会查看Linux网口流量脚本的知识。通过本脚本,发现bash确实在算术运算方面比老的shell要强大,为此需要开始学习bash,以利用它强大的功能。不过bash中的for语句功能和c中差异比较大。
- # cat stream
- #! /bin/bash
- # Write by Neil.xu qq:37391319 email: xurongzhong@gmail.com
- # 2008-8-19 we need to monitor streams of LTS channels, so write this script
- typeset in in_old dif_in dif_in1 dif_out1
- typeset out out_old dif_out
- in_old=$(cat /proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $1 }' )
- out_old=$(cat /proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $9 }')
- while true
- do
- sleep 1
- in=$(cat /proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $1 }')
- out=$(cat /proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $9 }')
- dif_in=$((in-in_old))
- dif_in1=$((dif_in * 8 / 1024 / 1024 ))
- dif_out=$((out-out_old))
- echo " IN: ${dif_in} bytes OUT: ${dif_out} bytes "
- dif_out1=$((dif_out * 8 / 1024 / 1024 ))
- echo "IN: ${dif_in1} mbps OUT: ${dif_out1} mbps"
- in_old=${in}
- out_old=${out}
- done
- 运行效果:
- # ./stream
- IN: 349179 bytes OUT: 1363936 bytes
- IN: 2 mbps OUT: 10 mbps
- IN: 349612 bytes OUT: 1361852 bytes
- IN: 2 mbps OUT: 10 mbps
- IN: 348684 bytes OUT: 1358952 bytes
- IN: 2 mbps OUT: 10 mbps
- IN: 349998 bytes OUT: 1359092 bytes
这样学会查看Linux网口流量的方法了。
【编辑推荐】