获取网卡网络流量

#!/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  " RX `date +%k:%M:%S` TX"
        RX=$((${RXnext}-${RXpre}))
        TX=$((${TXnext}-${TXpre}))
        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 $RX   $TX "
done

原文地址:https://www.cnblogs.com/guoqp/p/6370116.html