# cat /proc/net/dev 查看的是所有硬件设备的网络传输情况,查到的是累计值 #想要传输实时,则需要将下一秒(下一时间)获得的值减去前一秒(当前时间) #! /bin/bash NIC=$1 echo -e " In -------------- Out" while true;do OLD_IN=$(awk '$0~"'$INC'"{print $2}' /proc/net/dev) OLD_OUT=$(awk '$0~"'$INC'"{print $10}' /proc/net/dev) sleep 1 NEW_IN=$(awk '$0~"'$INC'"{print $2}' /proc/net/dev) NEW_OUT=$(awk '$0~"'$INC'"{print $10}' /proc/net/dev) IN=$(printf "%.1f%s" "$((($NEW_IN-$OLD_IN)/1024))" "KB/s" OUT=$(printf "%.1f%s" "$((($NEW_OUT-$OLD_OUT)/1024))" "KB/s" echo "$IN $OUT" sleep done
注意:%.1f表示保留一位小数,这里的1为阿拉伯数字1,可以是2~9这些,表示保留的小数点后几位
标签:OLD,运维,---------,实时,dev,NEW,net,proc,OUT From: https://www.cnblogs.com/ciscolee/p/16603518.html