天天看點

檢視網卡的實時流量

宅鳥在工作中有時需要檢視指定網卡流量狀況,這裡分享一個腳本(該腳本非宅鳥所寫,忘記作者出處):

直接上腳本:

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,如需轉載請自行聯系原作者