2025-01-18 22:25:38 +08:00
|
|
|
|
#!/bin/bash
|
2025-01-19 21:49:29 +08:00
|
|
|
|
declare -A info_dict
|
|
|
|
|
declare -a info_array
|
|
|
|
|
|
|
|
|
|
cpu_info=$(cat /proc/cpuinfo)
|
|
|
|
|
info_dict["CPU 型号"]=$(echo "$cpu_info" | grep -m1 -oP 'model name\s*:\s*\K.+')
|
|
|
|
|
info_dict["CPU 核心数"]=$(echo "$cpu_info" | grep -m1 -oP 'cpu cores\s*:\s*\K\d+')
|
|
|
|
|
info_dict["CPU 频率"]=$(echo "$cpu_info" | grep -m1 -oP 'cpu MHz\s*:\s*\K.+')
|
|
|
|
|
info_dict["CPU 缓存"]=$(echo "$cpu_info" | grep -m1 -oP 'cache size\s*:\s*\K.+')
|
|
|
|
|
|
|
|
|
|
info_dict["SWAP"]=$(free -m | awk '/Swap/ {printf "%.2f GB", $2/1024}')
|
|
|
|
|
info_dict["硬盘空间"]=$(lsblk -b -d -o SIZE,NAME | grep -vE "loop|ram" | awk '{sum += $1} END {printf "%.2f GB", sum/1024/1024/1024}')
|
|
|
|
|
info_dict["系统在线时间"]=$(awk '{printf("%d天 %d小时 %d分钟", $1/86400, ($1%86400)/3600, ($1%3600)/60)}' /proc/uptime)
|
|
|
|
|
info_dict["内核"]=$(uname -r)
|
|
|
|
|
info_dict["TCP加速方式"]=$(sysctl -n net.ipv4.tcp_congestion_control)
|
|
|
|
|
info_dict["虚拟化框架"]=$(systemd-detect-virt)
|
|
|
|
|
|
|
|
|
|
ip_info=$(curl -s https://ip.lsy22.com/)
|
|
|
|
|
info_dict["IPV4 位置"]=$(echo "$ip_info" | grep -oP '"ipv4":\s*"\K[^"]+')
|
|
|
|
|
info_dict["IPV6 位置"]=$(echo "$ip_info" | grep -oP '"ipv6":\s*"\K[^"]+')
|
|
|
|
|
|
|
|
|
|
info_array=(
|
|
|
|
|
"CPU 型号" "CPU 核心数" "CPU 频率" "CPU 缓存"
|
|
|
|
|
"SWAP" "硬盘空间" "系统在线时间" "内核" "TCP加速方式"
|
|
|
|
|
"虚拟化框架" "IPV4 位置" "IPV6 位置"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
max_length=$(printf "%s\n" "${info_array[@]}" | awk '{print length}' | sort -nr | head -1)
|
|
|
|
|
|
|
|
|
|
for title in "${info_array[@]}"; do
|
|
|
|
|
printf "%-${max_length}s : %s\n" "$title" "${info_dict[$title]}"
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo -e "\n待办项目:"
|
2025-01-18 22:25:38 +08:00
|
|
|
|
echo "CPU 测试中"
|
|
|
|
|
echo "内存测试中"
|
2025-01-19 21:49:29 +08:00
|
|
|
|
echo "IPV4测试中"
|
|
|
|
|
echo "IPV6测试中"
|
|
|
|
|
echo "速度测试中"
|