/proc/net/dev 文件显示的数字就是网络总流量,单位是B(字节)。 可以用当前时刻的数字减去上一秒的数字来求出每秒的网络流量。单位根据实际情况显示为KB或者MB。  而实时显示,只能使用while 做死循环,而且显示结果要一直在屏幕的第一行,可以使用clear实现。

#!/bin/bash
while :;do
m=`cat /proc/net/dev |grep eth0 |cut -d ':' -f2 |awk '{print $1}'`
sleep 1
n=`cat /proc/net/dev |grep eth0 |cut -d ':' -f2 |awk '{print $1}'`
per=$[ $n - $m ]
clear
echo $per
echo `date`
if [ $per -lt 102424 ];then
        echo "$per B/S"
elif [ $per -gt 1048576 ];then
        v=$[ $per/1048576 ]
        echo "$v M/S"
else
        v=$[ $per/1024 ]
        echo "$v KB/S"
fi
done

写的比较简单,纯属练习使用!