说明:通过菜单,写出用户的想要了解的资源选项,然后做展示
Color='\033[31m'
End='\033[0m'
echo -e "####${Color}Menu${End}########"
cat <<eof
1.memory
2.cpu
3.disk
4.net
eof
read -p "which one you want: " Want
echo
function memory_use {
Free=`cat /proc/meminfo |awk -F " +" 'NR==3{print $2}'`
Used=`free |grep -i "mem" |tr -s " " |cut -d " " -f3`
Total=`cat /proc/meminfo |awk -F " +" 'NR==1{print $2}'`
echo -e "${Color}memeory info list:${End}"
echo -e "free_rate: ${Color}`echo "scale=2;${Free}*100/${Total}"|bc`%${End}"
echo -e "used_rate: ${Color}`echo "scale=2;${Used}*100/${Total}"|bc`%${End}"
}
function cpu_info {
User_use=$(iostat |awk -F" +" 'NR==4{print $2}')
System_use=$(iostat |awk -F" +" 'NR==4{print $4}')
Idole=$(iostat |awk -F" +" 'NR==4{print $NF}')
echo "cpu used info list:"
echo
echo -e "user used: ${Color}${User_use}%${End}"
echo -e "system used: ${Color}${System_use}%${End}"
echo -e "idole :${Color}${Idole}%${End}"
}
function disk_info {
file_system=`df -h |awk -F " +" '/^\/dev\/sd/{print $1}'`
for i in $file_system
do
total=$(df -h |awk -F " +" -v ii=$i '{if($1==ii){print $2}}')
mount=$(df -h |awk -F " +" -v ii=$i '{if($1==ii){print $NF}}')
used=$(df -h |awk -F" +" -v ii=$i '{if($1==ii){print $3}}')
used_percent=$(df -h |awk -F" +" -v ii=$i '{if($1==ii){print $5}}')
echo -e "disk:${Color}${i}${End}\nmount:${Color}${mount}${End}\ntotal size :${Color}${total}${End}\nused size:${Color}${used}${End}\nused_percent: ${Color}${used_percent}${End}"
done
}
function tcp_statu {
echo "tcp connection status: "
netstat -tnap |awk -F " +" '{count[$6]++}END{for(i in count){print i,count[i]}}'
}
case $Want in
"1")
memory_use
;;
"2")
cpu_info
;;
"3")
disk_info
;;
"4")
tcp_statu
;;
*)
echo "Usage:pls enter {1|2|3|4}"
esac