Fedora 17 终端查看实时网速 rate :#!/bin/sh
#rate -t #实时显示
#rate #显示一次
#网卡名需要自定义
#僅適合Fedora 17
#HL_START=" 33[37;40;1m"
HL_START=" 33[31;42;1m"
HL_END=" 33[0m"
DEV_NAME="wlan0"
#DEV_NAME="p5p1"
function disp_usage()
{
printf "usage : $1 [DEV_NAME] [ TIMES | -t ]
"
printf " DEV_NAME the name of the network device, default: eth0
"
printf " TIMES the times of counts, default: 1
"
printf " -t counting until break
"
}
if [ $# -eq 0 ]
then
TOTAL_TIME=1
elif [ $1 == "-h" ]
then
disp_usage $0
exit 0
elif [ $1 == "--help" ]
then
disp_usage $0
exit 0
elif [ $1 == "-t" ]
then
TOTAL_TIME=65535
elif [ $# -eq 1 ]
then
DEV_NAME=$1
TOTAL_TIME=1
elif [ $2 == "-t" ]
then
DEV_NAME=$1
TOTAL_TIME=65535
else
DEV_NAME=$1
TOTAL_TIME=$2
fi
echo "the Rate of Network, by dorainm, dora...@gmail.com"
echo "-----------------------------------------------------"
echo "DEV_NAME is $DEV_NAME"
count=0
while [ $count -lt $TOTAL_TIME ]
do
#
#RX_FIRST=$(/sbin/ifconfig $DEV_NAME | awk "/RX bytes/{print $2}" | awk -F: "{print $2}")
#TX_FIRST=$(/sbin/ifconfig $DEV_NAME | awk "/RX bytes/{print $6}" | awk -F: "{print $2}")
# echo "FIRST = $FIRST"
#sleep 1
#RX_SECOND=$(/sbin/ifconfig $DEV_NAME | awk "/RX bytes/{print $2}" | awk -F: "{print $2}")
#TX_SECOND=$(/sbin/ifconfig $DEV_NAME | awk "/RX bytes/{print $6}" | awk -F: "{print $2}")
# echo "SECOND = $SECOND"
#net-tools 1.60
#ifconfig 1.42 (2001-04-13)
RX_FIRST=$(/sbin/ifconfig $DEV_NAME | awk "/RX packets/{print $5}")
TX_FIRST=$(/sbin/ifconfig $DEV_NAME | awk "/TX packets/{print $5}")
# echo "FIRST = $FIRST"
sleep 1
RX_SECOND=$(/sbin/ifconfig $DEV_NAME | awk "/RX packets/{print $5}")
TX_SECOND=$(/sbin/ifconfig $DEV_NAME | awk "/TX packets/{print $5}")
# echo "SECOND = $SECOND"
printf "RX_FIRST=$RX_FIRST
"
printf "RX_SECOND=$RX_SECOND
"
printf "TX_FIRST=$TX_FIRST
"
printf "TX_SECOND=$TX_SECOND
"
((RX_FIRST=$RX_SECOND-$RX_FIRST))
((TX_FIRST=$TX_SECOND-$TX_FIRST))
if [ $RX_FIRST -gt 1048576 ]
then
RX_FIRST=$(echo "scale=3; $RX_FIRST / 1048576" | bc -l)
printf "RX Rate = $HL_START%.3F$HL_END MB/S " $RX_FIRST
elif [ $RX_FIRST -gt 1024 ]
then
RX_FIRST=$(echo "scale=3; $RX_FIRST / 1024" | bc -l)
# ((RX_FIRST=($RX_FIRST/1024)))
printf "RX Rate = $HL_START%.3F$HL_END KB/S " $RX_FIRST
else
printf "RX Rate = $HL_START$RX_FIRST$HL_END B/S "
fi
if [ $RX_SECOND -gt 1048576 ]
then
RX_SECOND=$(echo "scale=3; $RX_SECOND / 1048576" | bc -l)
printf "Totle Bytes : $HL_START$RX_SECOND$HL_END MB
"
elif [ $RX_SECOND -gt 1024 ]
then
RX_SECOND=$(echo "scale=3; $RX_SECOND / 1024" | bc -l)
printf "Totle Bytes : $HL_START$RX_SECOND$HL_END KB
"
else
printf "Totle Bytes : $HL_START$RX_SECOND$HL_END B
"
fi
if [ $TX_FIRST -gt 1048576 ]
then
TX_FIRST=$(echo "scale=3; $TX_FIRST / 1048576" | bc -l)
printf "TX Rate = $HL_START%.3F$HL_END MB/S " $TX_FIRST
elif [ $TX_FIRST -gt 1024 ]
then
TX_FIRST=$(echo "scale=3; $TX_FIRST / 1024" | bc -l)
printf "TX Rate = $HL_START%.3F$HL_END KB/S " $TX_FIRST
else
printf "TX Rate = $HL_START$TX_FIRST$HL_END B/S "
fi
if [ $TX_SECOND -gt 1048576 ]
then
TX_SECOND=$(echo "scale=3; $TX_SECOND / 1048576" | bc -l)
printf "Totle Bytes : $HL_START$TX_SECOND$HL_END MB
"
elif [ $TX_SECOND -gt 1024 ]
then
TX_SECOND=$(echo "scale=3; $TX_SECOND / 1024" | bc -l)
printf "Totle Bytes : $HL_START$TX_SECOND$HL_END KB
"
else
printf "Totle Bytes : $HL_START$TX_SECOND$HL_END B
"
fi
((count=$count+1))
echo "-----------------------------------------------------"
done
echo "All Done"
更多Fedora相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5Fedora 17升级后grub2菜单无Fedora选项让Vim支持在终端剪贴板共享相关资讯 Fedora 17
- Fedora 17中systemd系统和服务管理 (01/18/2014 21:49:00)
- Fedora 17安装Qt5.0.0遇到/usr/bin (03/01/2013 21:26:37)
- Fedora 15,16, 17, 18好用的gnome (01/17/2013 20:03:57)
| - Fedora 17-x86编译linux-4.5.4内核 (04/05/2013 12:46:06)
- Fedora 17 中安装libperl-dev (01/25/2013 18:48:43)
- Fedora 17 x64 连接wpa加密的无线 (01/11/2013 09:23:10)
|
本文评论 查看全部评论 (0)