Linux服务器网卡流量查看方法 shell和Python各一枚
时间:2022-05-27 00:17:40|栏目:Linux|点击: 次
有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡)。
脚本中都用了while true“死循环”,每隔10s从“/proc/net/dev”中取一次值并根据10s内的差值计算10s内的平均带宽;按ctrl+c停止执行。脚本兼容centos6和7
两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了。
直接上图上脚本:
shell版–使用截图:
shell版代码:
#!/bin/sh #by ljk 20160526 if [ "$1" = "" ];then #判断后面是否有跟参数 echo -e "n use interface_name after the script,like "script eth0"...n" exit -1 fi echo -e "n start monitoring the $1,press "ctrl+c" to stop" echo ---------------------------------------------------------- file=/proc/net/dev #内核网卡信息文件 while true do RX_bytes=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'` #这里sed这一步为了同时兼容centos6和7 TX_bytes=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'` sleep 10 RX_bytes_later=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $2}'` TX_bytes_later=`cat $file|grep $1|sed 's/^ *//g'|awk -F'[ :]+' '{print $10}'` #B*8/1024/1024=Mb speed_RX=`echo "scale=2;($RX_bytes_later - $RX_bytes)*8/1024/1024/10"|bc` speed_TX=`echo "scale=2;($TX_bytes_later - $TX_bytes)*8/1024/1024/10"|bc` printf "%-3s %-3.1f %-10s %-4s %-3.1f %-4sn" IN: $speed_RX Mb/s OUT: $speed_TX Mb/s done
您可能感兴趣的文章
- 06-17Linux进程信号的发送和保存方法
- 06-17Linux卸载自带jdk并安装新jdk版本的图文教程
- 06-17Linux系统中卸载与安装JDK的详细教程
- 06-17Linux系统配置NAT网络模式的详细步骤(附图文)
- 06-17Linux中的计划任务(crontab)使用方式
- 06-17Apache配置域名跳转的详细步骤
- 06-17Linux fsync系统调用方式
- 06-17Linux磁盘扩容lvm的使用详解
- 06-17Linux与Windows跨平台文件共享的实现方案
- 06-17Linux如何实现给/根目录扩容


阅读排行
推荐教程
- 05-27Linux命令学习总结之rmdir命令
- 05-27阿里云linux服务器安全设置(防火墙策略等)
- 05-10Ubuntu系统安装ANSYS2021R1
- 05-27SecureCRT中文显示乱码问题的解决方法
- 06-12linux系统SSL证书部署https单/多站点
- 05-10ANSYS2021R1安装方法Linux centos Ubuntu系统
- 05-27apache密码生成工具htpasswd使用详解
- 11-07Clash Linux服务器安装详细教程
- 05-27Apache下开启SSI配置使html支持include包含的方法
- 05-27Linux下大量SYN_SENT连接问题的解决方法