Linuxネットワークトラフィックのスクリプトの表示

1728 ワード

本スクリプトにより、bashは確かに算術演算の面で古いshellより強いが、bashのfor文の機能とcの差が大きいことが分かった.プログラムはユーザーに書いて使うので、あなたはスクリプトを理解していないで、shell、perl、python、php、tclの中で1つ、OK、それではあなたはwindowsの骨灰級の加発焼友に違いありません.私はあなたを軽蔑しないで、あなたは自分で耻ずかしくて行って、安心してあなたが壁にぶつかってor飛び降りて私はすべて引くことはできません.OK,just for fan!!! # cat stream #!/bin/bash # Write by Neil.xu qq:37391319 email: [email protected] # 2008-8-19 we need to monitor streams of LTS channels, so write this script typeset in in_old dif_in dif_in1 dif_out1 typeset out out_old dif_out in_old=$(cat/proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $1 }' ) out_old=$(cat/proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $9 }') while true do          sleep 1          in=$(cat/proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $1 }')          out=$(cat/proc/net/dev | grep eth0 | sed 's=^.*:==' | awk '{ print $9 }')          dif_in=$((in-in_old))          dif_in1=$((dif_in * 8/1024 /1024 ))          dif_out=$((out-out_old))          echo "IN: ${dif_in} bytes OUT: ${dif_out} bytes "         dif_out1=$((dif_out * 8/1024 /1024 ))          echo "IN: ${dif_in1} mbps OUT: ${dif_out1} mbps"         in_old=${in}          out_old=${out}done実行効果:#./stream                                                 IN: 349179 bytes OUT: 1363936 bytes IN: 2 mbps OUT: 10 mbps                                                 IN: 349612 bytes OUT: 1361852 bytes IN: 2 mbps OUT: 10 mbps               IN:348684 bytes OUT:1358952 bytes IN:2 mbps OUT:10 mbps IN:349998 bytes OUT:1359092 bytes IN:2 mbps OUT:10 mbps原文アドレス:http://www.yuanma.org/data/2008/1110/article_3305.htm