#!/bin/bash 
  function cpu() {
 
  	use=$(vmstat |awk '{if (NR==3)print $13+$14}') 	iowait=$(vmstat |awk '{if (NR==3)print $16}') 	user=$(vmstat |awk '{if (NR==3)print $13}') 	sys=$(vmstat |awk '{if (NR==3)print $14}') 	echo  "cpu - 使用率: ${user}% , 等待磁盘IO响应使用率: ${iowait}% " } function memory() {
 
  	total=$(free -m |awk '{if (NR==2) printf "%.1f",$2/1024}') 	used=$(free -m |awk '{if (NR==2) printf "%.1f",($2-$NF)/1024}') 	available=$(free -m |awk '{if (NR==2) printf "%.1f",$NF/1024}') 	echo "内存 - 总大小: ${total}G , 已使用: ${used}G , 剩余: ${available}G " } disk (){
 
  	dev=$(df -h |awk '/^\/dev/{print $1}') 	for p in $dev; do
 
  		mounted=$(df -h |awk -v s=$p 's==$1{print $NF}' ) 		size=$(df -h |awk -v s=$p 's==$1{print $2}') 		used=$(df -h |awk -v s=$p 's==$1{print $3}') 		used_percent=$(df -h |awk -v s=$p 's==$1{print $5}') 		echo "硬盘 - 挂载点: $mounted , 总大小: $size , 已使用: $used , 使用率: $used_percent " 	done } tcp_status(){
 
  		status=$(netstat -anpt | awk '{a[$6]++}END{for (i in a) printf i ":" a[i]" "}') 		echo "TCP连接状态 - $status " } cpu memory disk tcp_status
   |