linux流量监控shell

# 传入网卡参数
ethn=$1
 
while true
do
  RX_pre=$(cat /proc/net/dev | grep $ethn | sed ‘s/:/ /g‘ | awk ‘{print $2}‘)
  TX_pre=$(cat /proc/net/dev | grep $ethn | sed ‘s/:/ /g‘ | awk ‘{print $10}‘)
  sleep 1
  RX_next=$(cat /proc/net/dev | grep $ethn | sed ‘s/:/ /g‘ | awk ‘{print $2}‘)
  TX_next=$(cat /proc/net/dev | grep $ethn | sed ‘s/:/ /g‘ | awk ‘{print $10}‘)
 
  clear
  # echo -e激活转义符
  # 输出时间的标题
  echo -e "t RX `date +%k:%M:%S` TX"
 
  RX=$((${RX_next}-${RX_pre}))
  TX=$((${TX_next}-${TX_pre}))
 
  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 "
 
done

linux流量监控shell

上一篇:【Xshell】SFTP子系统申请已拒绝,请确保ssh连接的sftp子系统设置有效


下一篇:Linux下编写Shell程序运行报“command not found”的解决思路