Linux系统下实时监控网口速率的shell脚本

时间:2021-05-01 10:36:56

修改后的脚本文件

 

#!/bin/bash
#Modified by lifei4@datangmobile.cn
echo ===DTmobile NetSpeedMonitor===
sleep 1
echo loading...
sleep 1

ethn=$1
 
while true
do
  RXpre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TXpre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
  sleep 1
  RXnext=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}')
  TXnext=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}')
 
  clear
  echo -e "\t\t\t  RX \t\t   TX  \t\t\t TIME"
 
  RX=$((RXnext-RXpre))
  TX=$((TXnext-TXpre))
 
  if [ $RX -lt 1024 ];then
    RX="${RX}B/s"
  elif [ $RX -gt 1048576 ];then
    RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
  else
    RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
  fi
 
  if [ $TX -lt 1024 ];then
    TX="${TX}B/s"
  elif [[ $TX -gt 1048576 ]];then
    TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
  else
    TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
  fi
 
  echo -e "$ethn \t $RX   $TX   \t\t\t `date +%k:%M:%S` "
 
done

  

源码来自网络,修改了16行

用法

./NetSpeedMonitor.sh

  

最终结果展示

Linux系统下实时监控网口速率的shell脚本