实时显示各个网口的流量

下面的代码,每秒更新一次当前以eth开头的网口的速率

#!/bin/bash

add_unit()
{
    TX=$1 
    if [[ $TX -lt 1024 ]];then
        tx="${TX}B/s"
    elif [[ $TX -gt 1048576 ]];then
        tx=$(($TX/1048576))MB/s
    else
        tx=$(($TX/1024))KB/s
    fi
    
    echo $tx
}

while true
do

x=$(cat /proc/net/dev | grep eth.: | sed -e 's/://g' -e 's/eth//g' | awk '{print "count="NR " " "ethname["NR"]="$1 " " "rx0["NR"]="$2 " "  "tx0["NR"]="$10}')
eval "$x"

sleep 1
clear
echo -e "interface \t RX `date +%k:%M:%S` \t TX"

x=$(cat /proc/net/dev | grep eth.: | sed -e 's/://g' -e 's/eth//g' | awk '{print "count="NR " " "ethname["NR"]="$1 " " "rx1["NR"]="$2 " "  "tx1["NR"]="$10}')
eval "$x"

for i in `seq 1 $count`; do
    x=$((${rx1[$i]}-${rx0[$i]}))
    RX[$i]=$(add_unit $x)
    x=$((${tx1[$i]}-${tx0[$i]}))
    TX[$i]=$(add_unit $x)
    echo -e "eth${ethname[$i]} \t\t ${RX[$i]} \t  ${TX[$i]} "
done

done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值