EveryDay-Shell之ifconfig输出详解“——netspeed.sh网速监控脚本
对应文件中,比如p1p1设备对应目录:
$ls -l
-r--r--r-- 1 root root 4096 2月 4 14:35 collisions
-r--r--r-- 1 root root 4096 2月 4 14:35 multicast
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_bytes
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_compressed
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_crc_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_dropped
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_fifo_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_frame_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_length_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_missed_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_over_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 rx_packets
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_aborted_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_bytes
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_carrier_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_compressed
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_dropped
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_fifo_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_heartbeat_errors
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_packets
-r--r--r-- 1 root root 4096 2月 4 14:35 tx_window_errors
$cat rx_bytes(接收总数据大小B为单位,即下行)
226698240
$cat tx_bytes(发送总数据打包B为单位,即上行)
10534137
根据这些文件存储的数据,可以设计一个监控网速的shell脚本:
# Program: netspeed.sh
# Author: LeslieChu
# Date: 2012-02-04
# Version: 1.0
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
if [ -z "$1" ];
then
echo
echo "Usage: $0 eth0";
exit 1
fi
while true;
do
R_1=`cat /sys/class/net/$1/statistics/rx_bytes`;
T_1=`cat /sys/class/net/$1/statistics/tx_bytes`;
sleep 1;
R_2=`cat /sys/class/net/$1/statistics/rx_bytes`;
T_2=`cat /sys/class/net/$1/statistics/tx_bytes`;
R_Byte_PerSec=$(expr $R_2 - $R_1);
T_Byte_PerSec=$(expr $T_2 - $T_1);
R_KB_PerSec=$(expr ${R_Byte_PerSec} / 1024); #记得“/”左右需要空格,否则无效
T_KB_PerSec=$(expr ${T_Byte_PerSec} / 1024);
R_MB_PerSec=$(expr ${R_KB_PerSec} / 1024);
T_MB_PerSec=$(expr ${T_KB_PerSec} / 1024);
echo -en "$1->\tTX:\t${T_KB_PerSec} KB/s, \t${T_MB_PerSec}MB/s; "
echo -e " \tRX:\t${R_KB_PerSec}KB/s, \t${R_MB_PerSec}MB/s."
done
执行结果:
Usage: ./netspeed.sh eth0
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 3 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 8 KB/s, 0MB/s; RX: 20KB/s, 0MB/s.
p1p1-> TX: 10 KB/s, 0MB/s; RX: 21KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 5 KB/s, 0MB/s; RX: 1KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 0KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 3KB/s, 0MB/s.
p1p1-> TX: 0 KB/s, 0MB/s; RX: 1KB/s, 0MB/s.
^C
EveryDay-Shell之ifconfig输出详解“——netspeed.sh网速监控脚本相关推荐
- 31.进程管理之进程概览,及ps命令详解,ps -ef,ps aux,ps -le,ps -l输出详解和示例
本小章讲解进程管理中的进程概览和作用,及ps命令详解,ps -ef,ps aux,ps -le,ps -l的输出详解和示例 文章目录 进程概览 什么是进程和程序 进程管理的作用 进程启动方式 僵尸进程 ...
- linux ifconfig 命令详解
linux ifconfig 命令详解 功能说明:显示或设置网络设备. 语 法:ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址&g ...
- Hadoop之OutputFormat数据输出详解
Hadoop之OutputFormat数据输出详解 目录 OutputFormat接口实现类 自定义OutputFormat 1. OutputFormat接口实现类 OutputFormat是Map ...
- 单片机推挽输出c语言,单片机IO口科普:推挽输出、开漏输出详解
原标题:单片机IO口科普:推挽输出.开漏输出详解 在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻. 是不是有时候感觉一头雾水? 今天就详解一下 ...
- ThinkPHP模版引擎之变量输出详解
ThinkPHP模版引擎之变量输出详解 使用ThinkPHP开发有一定时间了,今日对ThinkPHP的模板引擎变量解析深入了解了一下,做出一些总结,分享给大家供大家参考.具体分析如下: 我们已经知道了 ...
- 单片机I/O开漏输出详解 “与逻辑” ,改变上拉电源的电压,提供TTL/CMOS电平输出,标准的开漏脚一般只有输出的能力添加其它的判断电路,才能具备双向输入、输出的能力
单片机I/O开漏输出详解 开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 我们先来说说集电极开路输出的结 ...
- linux中ifconfig命令作用,Linux下ifconfig命令详解
Linux下网卡命名规律:eth0,eth1.第一块以太网卡,第二块.lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位.它代表你的机器本身.相关文件在/etc/sysconfig/net ...
- MySQL show slave statusG 输出详解
MySQL show slave status\G 输出详解 db02 [(none)]>show slave status\G *************************** 1. r ...
- java使用变量输出_JAVA定义变量与输出详解
一些重要知识 一个源文件里只能有一个public类,其它类数量不限.文件名与public类名相同 java程序严格区分大小写 JAVA应用程序的执行入口是main方法固定写法:public stati ...
最新文章
- VMware虚拟机文件夹中各文件作用详解
- 【怎样写代码】工厂三兄弟之工厂方法模式(二):解决方案 I
- poj1511(SPFA算法)
- socket函数介绍
- 定义一个接口CanFly,描述会飞的方法public void fly();
- EventBus设计与实现分析——订阅者的注册
- day38-数据库应用软件
- vue 运行报错Module build failed: Error: Node Sass does not yet support your current environment: Windows
- 常见 CentOS 7 安装问题
- matlab 数学 应用论文,MATLAB在高等数学课程中的应用(图文)
- 数据结构--二叉树的二叉链表实现
- 深入浅出SCSI子系统(六)SCSI 磁盘驱动
- 子龙山人Learn Emacs in 21 Days: day 7 学习笔记
- 怎么两边同时取ln_回归分析为什么要取LN值
- 【论文笔记】Data Shapley: Equitable Valuation of Data for Machine Learning
- KDS加密软件的实际应用
- fail2ban原理与安装(centos6)
- it系统应急响应流程图_各类突发事件应急处置流程图,速看!
- 基于支付宝微信通知的一种个人收款回调方案
- html打印图片不显示不全,Word里图片显示全打印不全是怎么回事