Linux 查看网卡实时流量及带宽占用

1、创建一个 .sh的文件,文件名随意,文件不要建在root home目录上。

 # touch lan.sh  //我这里的文件名是 lan.sh 。

2、添加运行权限

# chmod 777 lan.sh

3、下面是 lan.sh的文件内容。

#!/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

4、运行文件

# ./lan.sh eth2  //eth2 是你要查看的网卡,如:eth0  eth1 eth2

5、运行结果

RX 11:00:07 TX

eth2 632B/s   0B/s 

6、退出。

Ctrl+c

© 版权声明
THE END