shell脚本助你在linux下实时查看单网卡流量

本文介绍了一个简单的bash脚本,用于实时监控Linux系统中指定网卡的接收(RX)和发送(TX)流量,并以易于阅读的格式显示速率。通过这个脚本,用户可以持续观察网络活动情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
 while [ "1" ]
 do
 eth=$1
 RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
 TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
 sleep 1
 RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
 TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
 clear
 echo  -e  "\t RX `date +%k:%M:%S` TX"
 RX=$((${RXnext}-${RXpre}))
 TX=$((${TXnext}-${TXpre}))
 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 "$eth \t $RX   $TX "
 done
 


将上面的脚本保存为watch-net.sh

执行:

sh watch-net.sh ethX

即可。

注:ethX指的是你要看的网卡名称


注意:必须在linux下创建文件, 在windows下创建的文件拷到linux下执行会报出各种语法错误


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值