traff.sh

#!/bin/bash
#网络监控
while [ "1" ]
do
    eth=$1
    RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    sleep 1
    RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
    TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
    clear
    echo  -e  "\t RX `date +%k:%M:%S` TX"
    #RX=$((${RXnext} - ${RXpre}))
    RX=`expr ${RXnext} - ${RXpre}`
    #TX=$((${TXnext} - ${TXpre}))
    TX=`expr ${TXnext} - ${TXpre}`
     echo $RX 
     exit 1
    if [[ $RX -lt 1024 ]];then
        RX="${RX}B/s"
    elif [[ $RX -gt 1048576 ]];then
        RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
    else
        RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
    fi
      
    if [[ $TX -lt 1024 ]];then
        TX="${TX}B/s"
    elif [[ $TX -gt 1048576 ]];then
        TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
    else
        TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
    fi
      
    echo -e "$eth \t $RX   $TX "
done

 

posted @ 2017-09-26 15:06  风与叶子  阅读(270)  评论(0编辑  收藏  举报