download_ubuntu_dependency/check_system_info.sh
2025-03-13 15:28:51 +08:00

81 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# 设置输出文件名(使用时间戳来命名)
output_file="system_info_$(date +%Y%m%d_%H%M%S).txt"
# 将所有输出重定向到文件
{
echo "================系统配置信息=================="
echo "生成时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo
# 1&2. 主板信息
echo "---主板信息---"
if [ -f /sys/class/dmi/id/board_name ]; then
echo "主板型号: $(cat /sys/class/dmi/id/board_name)"
fi
if [ -f /sys/class/dmi/id/board_vendor ]; then
echo "主板厂商: $(cat /sys/class/dmi/id/board_vendor)"
fi
echo
# 3&4. 网络信息
echo "---网络信息---"
# 获取物理网卡列表
physical_interfaces=$(ls -l /sys/class/net/ | grep -v virtual | grep devices | awk -F"/" '{print $NF}')
echo "IP地址:"
for interface in $physical_interfaces; do
ip_addr=$(ip -4 addr show $interface 2>/dev/null | grep inet | awk '{print $2}')
if [ ! -z "$ip_addr" ]; then
echo "接口: $interface IP: $ip_addr"
fi
done
echo -e "\nMAC地址:"
for interface in $physical_interfaces; do
mac=$(ip link show $interface | grep 'link/ether' | awk '{print $2}')
if [ ! -z "$mac" ]; then
echo "接口: $interface MAC: $mac"
fi
done
echo
# 5. 系统版本
echo "---系统信息---"
echo "系统版本: $(lsb_release -d | cut -f2)"
echo "内核版本: $(uname -r)"
echo
# 6&7. 硬盘信息
echo "---硬盘信息---"
lsblk -d -o NAME,SIZE,SERIAL,MODEL | grep -v "loop"
echo
# 8. CPU信息
echo "---CPU信息---"
cpu_info=$(cat /proc/cpuinfo | grep "model name" | head -n 1 | cut -d ":" -f2)
cpu_cores=$(nproc)
echo "CPU型号:$cpu_info"
echo "CPU核心数: $cpu_cores"
echo
# 9&10. 内存信息
echo "---内存信息---"
echo "内存详细信息:"
if command -v dmidecode >/dev/null 2>&1; then
sudo dmidecode -t memory | grep -E "Size:|Type:|Speed:|Manufacturer:|Serial Number:" | grep -v "No Module Installed"
else
echo "请安装 dmidecode: sudo apt-get install dmidecode"
fi
echo
echo "总内存容量: $(free -h | grep "Mem:" | awk '{print $2}')"
echo
echo "==================完成======================="
} > "$output_file"
# 同时在屏幕上显示结果
cat "$output_file"
echo -e "\n系统信息已保存到文件: $output_file"