因为平时常用的都是iftop去查看网卡的带宽,因为有相对的可视化界面。可是平时去其他的centos上查看流量的话,对方的电脑不一定会安装iftop,这样的话会带来一定的麻烦,所以去网上找了一下traffic.sh 利用脚本去检测实时带宽。

#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;
export PATH
function traffic_monitor {# 系统版本OS_NAME=$(sed -n '1p' /etc/issue)# 网口名eth=$1#判断网卡存在与否,不存在则退出if [ ! -d /sys/class/net/$eth ];thenecho -e "Network-Interface Not Found"echo -e "You system have network-interface:\n`ls /sys/class/net`"exit 5fiwhile [ "1" ]do# 状态STATUS="fine"# 获取当前时刻网口接收与发送的流量RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')# 获取1秒后网口接收与发送的流量sleep 1RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')clear# 获取这1秒钟实际的进出流量RX=$((${RXnext}-${RXpre}))TX=$((${TXnext}-${TXpre}))# 判断接收流量如果大于MB数量级则显示MB单位,否则显示KB数量级if [[ $RX -lt 1024 ]];thenRX="${RX}B/s"elif [[ $RX -gt 1048576 ]];thenRX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')$STATUS="busy"elseRX=$(echo $RX | awk '{print $1/1024 "KB/s"}')fi# 判断发送流量如果大于MB数量级则显示MB单位,否则显示KB数量级if [[ $TX -lt 1024 ]];thenTX="${TX}B/s"elif [[ $TX -gt 1048576 ]];thenTX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')elseTX=$(echo $TX | awk '{print $1/1024 "KB/s"}')fi# 打印信息echo -e "==================================="echo -e "Welcome to Traffic_Monitor stage"echo -e "version 1.0"echo -e "Since 2014.2.26"echo -e "Created by showerlee"echo -e "BLOG: http://www.showerlee.com"echo -e "==================================="echo -e "System: $OS_NAME"echo -e "Date:   `date +%F`"echo -e "Time:   `date +%k:%M:%S`"echo -e "Port:   $1"echo -e "Status: $STATUS"echo -e  " \t     RX \tTX"echo "------------------------------"# 打印实时流量echo -e "$eth \t $RX   $TX "echo "------------------------------"# 退出信息echo -e "Press 'Ctrl+C' to exit"done
}
# 判断执行参数
if [[ -n "$1" ]];then# 执行函数traffic_monitor $1
elseecho -e "None parameter,please add system netport after run the script! \nExample: 'sh traffic_monitor eth0'"
fi

执行以下脚本,eth0就是对应本机的网卡。

# sh traffic_monitor.sh eth0

如果执行的过程有报错,原因是不同的系统对换行符的理解不同,即对\r的理解不同,所以就会出现这种情况。

执行sed -i 's/\r$//' /root/traffic_monitor.sh

2015年12月13日23:41:47

linux 下脚本查看带宽 (不需要安装其他工具包)相关推荐

  1. linux下如何查看某个软件 是否安装??? 安装路径在哪???

    <1>.在linux下如何判断是否已经安装某个软件? 我的系统是red hat 我用命令rpm查是否安装了某个软件(例如: matlab 与 fluent ),得到了如下的结果: 我用rp ...

  2. Linux下开源打包工具fpm的安装与使用(超详细)

    Linux下开源打包工具fpm的安装与使用 一.fpm概述 二.fpm的安装 1.安装ruby环境 2.安装fpm 三.fpm的使用 1.fpm常用参数 2.举例要求 3.准备目录 4.编写脚本文件 ...

  3. Linux下如何查看硬件信息?

    Linux下如何查看硬件信息? 我们在 Linux 下进行开发时,有时也需要知道当前的硬件信息,比如:CPU几核?使用情况?内存大小及使用情况?USB设备是否被识别?等等类似此类问题.下面良许介绍一些 ...

  4. Linux下boost库的编译、安装详解

    1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...

  5. linux显卡驱动mxm,linux下我的FX5200显卡驱动安装

    linux下我的FX5200显卡驱动安装 发布时间:2008-09-20 16:42:33来源:红联作者:Keiboc 一.为什么要装驱动 一般情况下,只要你下载了LINUX的最新发行版本,比如Fed ...

  6. Linux下如何查看tomcat是否启动/系统日志等

    1.在Linux系统下,重启Tomcat使用命令操作的!  方法一: 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdo ...

  7. VMware Linux下拖拽补丁vmtools的安装和卸载

    Linux下拖拽补丁vmtools的安装和卸载 by:授客 QQ:1033553122 Vmware 8.0.4为例子 步骤1.VM->Install Vmware Tools... 步骤2.查 ...

  8. linux 查看主机版本,Linux下如何查看版本信息的方法步骤

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a   (Linux查看版本当前操作系统内核信息) Linux ...

  9. Linux下,查看USB设备信息

    Linux下,查看USB设备信息 首先需要将usbfs挂载一下,然后才能查看. $ mount -t usbfs none /proc/bus/usb $ cat  /proc/bus/usb/dev ...

最新文章

  1. CVPR 2020 | 给Deepfake 假脸做 X-Ray,新模型把换脸图打回原形
  2. [值得学习]售前工程师的成长---一个老员工的经验之谈(一)
  3. Groovy学习()面向Java开发者的Groovy
  4. 【EventBus】EventBus 源码解析 ( 注册订阅者 | 订阅方法 | 查找订阅方法 )
  5. Ajax Control Toolkit 32个服务器端控件
  6. [JZOJ P1311] [DP]邮局设置问题
  7. 魅族Android10内测招募答案,10款机型升级Android 10!魅族Flyme即日起内测招募
  8. oracle日常函数应用,oracle日常 常用函数与脚本
  9. 程序猿们正在疯狂battle,看看究竟谁的算法更6
  10. 7-4 谁会留下?规则如下:所有的学生绕成一圈,顺序排号,从第一个学生开始报数,凡是报到固定数字(例如 5)的都退出,直到只剩下一位学生游戏才中止。 (10 分)
  11. JSP+MySQL基于ssm的物理竞赛管理系统-
  12. bandicam的延迟问题和画质问题
  13. 中望cad文字显示问号怎么办_CAD文件打开后有很多问号怎么办
  14. 清华贫困生的树洞,没有卖惨与诉苦,那股韧劲直抵人心
  15. SDR HDR 动态范围
  16. Java字节码角度分析方法调用 ——提升硬实力7
  17. 控制台基于Quartz.Net组件实现定时任务调度(一)
  18. 有哪些适合男生的蓝牙耳机?520情人节适合送男生的蓝牙耳机推荐
  19. std__vector介绍
  20. seo文章优化(怎么样做好伪原创文章)

热门文章

  1. arcgis 字段计算器 条件赋值_ArcGIS中属性表的常用操作汇总
  2. 创建组_在Allegro软件中的Groups组创建之后怎么进行打散呢?
  3. 游标循环读取的正确逻辑_千分尺的正确使用方法原来是这样?我用了那么多年都用错了...
  4. 吴恩达机器学习笔记三之逻辑回归
  5. 深度综述|基因与疾病关系研究的百年进展
  6. python习题集整理汇总
  7. 1.11 编程基础之二分查找 08 不重复地输出数 python
  8. java集合中中文排序_利用Collator和Collections.sort对list进行中文排序,注意与Arrays.sort的区别...
  9. redis 失效时间单位是秒还是毫秒_Redis有效时间设置及时间过期处理
  10. Linux笔记-centos安装elasticsearch7版本