实时查看linux网卡流量脚本

 

http://www.oschina.net/code/snippet_20912_2989

实时查看linux网卡流量

将下列脚本保存为可执行脚本文件,比如叫traff.sh。

1、本脚本可自定义欲查看接口,精确到小数,并可根据流量大小灵活显示单位。
2、此脚本的采集间隔为1秒。
3、此脚本不需要额外再安装软件,可在急用情况下应付一下,比如临时想看一下是否有流量通过,大概为多少等。
4、一些流量查看软件由于计算的精确度不同,所以与此脚本显示的数值不可能一致,此脚本的显示结果与du meter对比过,相差很小。还有就是传输工具本身显示的传输速度并不准确。
用法为:
1、chmod +x ./traff.sh 将文件改成可执行脚本。
2、./traff.sh eth0即可开始监看接口eth0流量,按ctrl+c退出。
01#!/bin/bash
02while [ "1" ]
03do
04eth=$1
05RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
06TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
07sleep 1
08RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
09TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
10clear
11echo  -e  "\t RX `date +%k:%M:%S` TX"
12RX=$((${RXnext}-${RXpre}))
13TX=$((${TXnext}-${TXpre}))
14  
15if [[ $RX -lt 1024 ]];then
16RX="${RX}B/s"
17elif [[ $RX -gt 1048576 ]];then
18RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
19else
20RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
21fi
22  
23if [[ $TX -lt 1024 ]];then
24TX="${TX}B/s"
25elif [[ $TX -gt 1048576 ]];then
26TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
27else
28TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
29fi
30  
31echo -e "$eth \t $RX   $TX "
32done
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值