自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux如何實時監(jiān)控網(wǎng)卡流量?

系統(tǒng) Linux
本文將介紹一個簡單的Bash腳本,用于實時監(jiān)控指定網(wǎng)卡的流量情況。這個腳本通過讀取/proc/net/dev文件獲取網(wǎng)卡的接收(RX)和發(fā)送(TX)字節(jié)數(shù),并計算每秒的流量。

本文將介紹一個簡單的Bash腳本,用于實時監(jiān)控指定網(wǎng)卡的流量情況。這個腳本通過讀取/proc/net/dev文件獲取網(wǎng)卡的接收(RX)和發(fā)送(TX)字節(jié)數(shù),并計算每秒的流量。腳本不僅能夠?qū)崟r顯示流量,還能將字節(jié)數(shù)轉(zhuǎn)換為更為直觀的單位(如KB、MB、GB),便于用戶查看。

先看看腳本:

#!/bin/bash
# 設(shè)置接口名稱
eth="eno1"
# 定義函數(shù):將字節(jié)轉(zhuǎn)換為人類可讀的單位
bytes_to_human() {
    local bytes=$1
    if (( bytes < 1024 )); then
        echo "${bytes}B"
    elif (( bytes < 1048576 )); then
        printf "%.2fKB" "$(bc <<< "scale=2; $bytes / 1024")"
    elif (( bytes < 1073741824 )); then
        printf "%.2fMB" "$(bc <<< "scale=2; $bytes / 1048576")"
    else
        printf "%.2fGB" "$(bc <<< "scale=2; $bytes / 1073741824")"
    fi
}
# 實時監(jiān)控流量
while true; do
    # 獲取上一次的接收和發(fā)送字節(jié)數(shù)
    RXpre=$(cat /proc/net/dev | grep "$eth:" | awk '{print $2}')
    TXpre=$(cat /proc/net/dev | grep "$eth:" | awk '{print $10}')
    # 等待1秒
    sleep 1
    # 獲取當(dāng)前的接收和發(fā)送字節(jié)數(shù)
    RXnext=$(cat /proc/net/dev | grep "$eth:" | awk '{print $2}')
    TXnext=$(cat /proc/net/dev | grep "$eth:" | awk '{print $10}')
    # 計算差值
    RX=$((RXnext - RXpre))
    TX=$((TXnext - TXpre))
    # 將字節(jié)轉(zhuǎn)換為人類可讀的單位
    RX_human=$(bytes_to_human $RX)
    TX_human=$(bytes_to_human $TX)
    # 清屏并打印結(jié)果
    clear
    echo -e "\t RX `date +%k:%M:%S` TX"
    echo -e "$eth \t $RX_human/s   $TX_human/s"
done

1、腳本功能概述

該腳本實現(xiàn)了實時監(jiān)控指定網(wǎng)卡(如eno1)的網(wǎng)絡(luò)流量。它定期讀取系統(tǒng)的/proc/net/dev文件,提取網(wǎng)卡的接收和發(fā)送字節(jié)數(shù),然后計算每秒的流量。流量數(shù)據(jù)以B/s(字節(jié)每秒)、KB/s(千字節(jié)每秒)、MB/s(兆字節(jié)每秒)或GB/s(千兆字節(jié)每秒)等更直觀的單位顯示。

2、工作原理

  • 接口選擇:用戶可以通過修改腳本中的eth="eno1"來指定要監(jiān)控的網(wǎng)卡接口。常見的網(wǎng)卡名稱包括eth0、eno1、wlan0等。
  • 獲取流量數(shù)據(jù):腳本通過cat /proc/net/dev命令讀取當(dāng)前網(wǎng)絡(luò)設(shè)備的流量數(shù)據(jù)。該文件包含了系統(tǒng)所有網(wǎng)卡的接收(RX)和發(fā)送(TX)字節(jié)數(shù)。使用grep命令過濾出指定網(wǎng)卡的信息,并使用awk提取字節(jié)數(shù)。
  • 計算流量差值:通過每秒讀取兩次字節(jié)數(shù)并計算差值(即流量的增量),實現(xiàn)實時流量監(jiān)控。
  • 字節(jié)數(shù)轉(zhuǎn)化:腳本通過bytes_to_human函數(shù)將字節(jié)數(shù)轉(zhuǎn)換為更加直觀的單位(如KB、MB、GB)。
  • 實時顯示:每秒更新一次流量,并清屏重新顯示,以保持信息的實時性和可讀性。

3、如何使用

  • 編輯腳本:打開終端并使用文本編輯器(如nano或vim)創(chuàng)建一個新的腳本文件:
nano monitor_traffic.sh
  • 粘貼腳本:將上述腳本內(nèi)容粘貼到編輯器中,并保存。
  • 賦予執(zhí)行權(quán)限: 在終端中輸入以下命令賦予腳本執(zhí)行權(quán)限:
chmod +x monitor_traffic.sh

運(yùn)行腳本:執(zhí)行腳本來開始監(jiān)控流量:

./monitor_traffic.sh

停止腳本:可以按Ctrl+C停止腳本的執(zhí)行。

這個簡單的Bash腳本能夠幫助系統(tǒng)管理員實時監(jiān)控網(wǎng)絡(luò)接口的流量情況,并將其以友好的格式顯示出來。它可以作為一個基礎(chǔ)工具進(jìn)一步擴(kuò)展,以滿足更多的需求,例如帶寬限制、流量分析等。

責(zé)任編輯:華軒 來源: 微技術(shù)之家
相關(guān)推薦

2010-06-17 17:03:31

Linux流量控制

2011-03-30 15:05:19

RedHad安裝MRTG

2011-03-30 11:04:11

安裝MRTG

2011-03-02 14:25:46

網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)流量

2021-08-30 13:08:54

Linux實時監(jiān)控日志文件

2010-06-11 11:28:39

Linux流量監(jiān)控

2011-01-06 13:45:51

linux流量監(jiān)控iftop

2010-05-27 12:52:42

Linux流量監(jiān)控軟件

2010-05-27 10:00:34

Linux 網(wǎng)卡流量

2010-05-26 16:44:27

Linux流量監(jiān)控

2011-04-06 13:50:34

LinuxMRTG監(jiān)控

2010-01-27 10:01:20

2021-04-02 09:43:10

Linux監(jiān)控技術(shù)Linux系統(tǒng)

2011-03-31 10:24:15

2010-06-13 15:05:01

Linux流量監(jiān)控

2010-06-07 14:23:40

Linux流量監(jiān)控

2010-06-01 10:32:04

linux Mrtg

2011-04-06 11:36:32

2010-06-04 13:49:24

Linux流量監(jiān)控

2010-06-13 14:47:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號