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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值