本文转载自网络,作者轶名,原文链接见于文末。
------------------------------------------------------------
实时查看网络流量脚本:
 
  1. #!/bin/bash 
  2.  
  3. if [ -n "$1" ]; then 
  4.   eth_name=$1 
  5. else 
  6.   eth_name="eth0" 
  7. fi 
  8.  
  9. i=0 
  10.  
  11. send_o=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'` 
  12. recv_o=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'` 
  13. send_n=$send_o 
  14. recv_n=$recv_o 
  15.  
  16. while [ $i -le 100000 ]; do 
  17.   send_l=$send_n 
  18.   recv_l=$recv_n 
  19.   sleep 1 
  20.   send_n=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'` 
  21.   recv_n=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'` 
  22.   i=`expr $i + 1` 
  23.   send_r=`expr $send_n - $send_l` 
  24.   recv_r=`expr $recv_n - $recv_l` 
  25.   total_r=`expr $send_r + $recv_r` 
  26.   send_ra=`expr \( $send_n - $send_o \) / $i` 
  27.   recv_ra=`expr \( $recv_n - $recv_o \) / $i` 
  28.   total_ra=`expr $send_ra + $recv_ra` 
  29.   sendn=`ifconfig $eth_name | grep bytes | awk -F \( '{print $3}' | awk -F \) '{print $1}'` 
  30.   recvn=`ifconfig $eth_name | grep bytes | awk -F \( '{print $2}' | awk -F \) '{print $1}'` 
  31.   clear 
  32.   echo  "Last second  :   Send rate: $send_r Bytes/sec  Recv rate: $recv_r Bytes/sec  Total rate: $total_r Bytes/sec" 
  33.   echo  "Average value:   Send rate: $send_ra Bytes/sec  Recv rate: $recv_ra Bytes/sec  Total rate: $total_ra Bytes/sec" 
  34.   echo  "Total traffic after startup:    Send traffic: $sendn  Recv traffic: $recvn" 
  35. done 

    原文链接:http://www.linuxeden.com/html/develop/20090808/67255.html