zoukankan      html  css  js  c++  java
  • shell脚本之监测指定网卡实时传输速率

    本脚本是无意间看到网络大神编写发表的,未留存原链接,感谢提供,侵删。

    实现原理:通过每秒读取一次/proc/net/dev动态文件,计算得出平局速度。执行格式

    sh ./speedmonitor.sh eth0

    脚本详情:

    #!/bin/bash
     
    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 "\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
  • 相关阅读:
    ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统
    74.Java异常处理机制
    emmm
    数据库关系代数
    汇编实验二 2进制转16进制
    汇编实验一 显示字符串
    JustOj 1386: 众数的数量
    Codeforces 124A
    Codeforces 456A
    Codeforces 237A
  • 原文地址:https://www.cnblogs.com/itbox/p/12098660.html
Copyright © 2011-2022 走看看