宅鳥在工作中有時需要檢視指定網卡流量狀況,這裡分享一個腳本(該腳本非宅鳥所寫,忘記作者出處):
直接上腳本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<code>#!/bin/bash</code>
<code>while</code> <code>[ </code><code>"1"</code> <code>]</code>
<code>do</code>
<code>eth=$1</code>
<code>RXpre=$(</code><code>cat</code> <code>/proc/net/dev</code> <code>| </code><code>grep</code> <code>$eth | </code><code>tr</code> <code>: </code><code>" "</code> <code>| </code><code>awk</code> <code>'{print $2}'</code><code>)</code>
<code>TXpre=$(</code><code>cat</code> <code>/proc/net/dev</code> <code>| </code><code>grep</code> <code>$eth | </code><code>tr</code> <code>: </code><code>" "</code> <code>| </code><code>awk</code> <code>'{print $10}'</code><code>)</code>
<code>sleep</code> <code>1</code>
<code>RXnext=$(</code><code>cat</code> <code>/proc/net/dev</code> <code>| </code><code>grep</code> <code>$eth | </code><code>tr</code> <code>: </code><code>" "</code> <code>| </code><code>awk</code> <code>'{print $2}'</code><code>)</code>
<code>TXnext=$(</code><code>cat</code> <code>/proc/net/dev</code> <code>| </code><code>grep</code> <code>$eth | </code><code>tr</code> <code>: </code><code>" "</code> <code>| </code><code>awk</code> <code>'{print $10}'</code><code>)</code>
<code>clear</code>
<code>echo</code> <code>-e </code><code>"\t RX `date +%k:%M:%S` TX"</code>
<code>RX=$((${RXnext}-${RXpre}))</code>
<code>TX=$((${TXnext}-${TXpre}))</code>
<code>if</code> <code>[[ $RX -lt 1024 ]];</code><code>then</code>
<code>RX=</code><code>"${RX}B/s"</code>
<code>elif</code> <code>[[ $RX -gt 1048576 ]];</code><code>then</code>
<code>RX=$(</code><code>echo</code> <code>$RX | </code><code>awk</code> <code>'{print $1/1048576 "MB/s"}'</code><code>)</code>
<code>else</code>
<code>RX=$(</code><code>echo</code> <code>$RX | </code><code>awk</code> <code>'{print $1/1024 "KB/s"}'</code><code>)</code>
<code>fi</code>
<code>if</code> <code>[[ $TX -lt 1024 ]];</code><code>then</code>
<code>TX=</code><code>"${TX}B/s"</code>
<code>elif</code> <code>[[ $TX -gt 1048576 ]];</code><code>then</code>
<code>TX=$(</code><code>echo</code> <code>$TX | </code><code>awk</code> <code>'{print $1/1048576 "MB/s"}'</code><code>)</code>
<code>TX=$(</code><code>echo</code> <code>$TX | </code><code>awk</code> <code>'{print $1/1024 "KB/s"}'</code><code>)</code>
<code>echo</code> <code>-e </code><code>"$eth \t $RX $TX "</code>
<code>done</code>
調用方式:
<code>.</code><code>/traff</code><code>.sh eth1</code>
<code>或</code>
<code>bash</code> <code>traff.sh eth1</code>
可以實時顯示網卡流量大小:
<a target="_blank" href="http://blog.51cto.com/attachment/201312/153914224.jpg"></a>
本文轉自birdinroom 51CTO部落格,原文連結:http://blog.51cto.com/birdinroom/1344059,如需轉載請自行聯系原作者