Shell脚本获取服务器硬件信息(非常详细)从零基础到精通,收藏这篇就够了!

Shell脚本获取服务器硬件信息

1.执行结果

==================== 服务器硬件信息报告 ==================== 日期: 2025年04月24日 Thursday 09:59:03 主机名: hcss-ecs-b455 ============================================================ 主板信息: Manufacturer: OpenStack Foundation Product Name: OpenStack Nova Serial Number: a0b33b76-78e8-4a97-84a1-da553de9cb94 CPU信息: Socket Designation: CPU 0 Version: pc-i440fx-4.1 Core Count: 1 内存信息: 内存槽位总数: 1 已安装的内存模块: Size: 2 GB Locator: DIMM GB Bank Locator: Locator: GB 已安装的内存模块数量: 3 内存总数: 1.8Gi 磁盘信息: NAME TYPE SIZE vda disk 40G GPU信息: 未检测到NVIDIA GPU或nvidia-smi命令不可用。 尝试使用lspci查找其他GPU设备: 所有网络接口: eth0 lo 接口及对应的 IPv4 地址: eth0: 172.31.3.169 lo: 127.0.0.1

2.脚本内容

#!/bin/bash RED='\033[0;31m' NC='\033[0m' current_date=$(date "+%Y年%m月%d日 %A %H:%M:%S") hostname=$(hostname) # 获取主板信息 get_pm_info() { echo -e "${RED}主板信息${NC}:" sudo dmidecode -t 1 | grep -E "Manufacturer|Product Name|Serial Number" echo "" } # 获取CPU信息 get_cpu() { echo -e "${RED}CPU信息:${NC}" sudo dmidecode -t processor | grep -E 'Socket|Core Count|Version' echo "" } # 获取内存信息 get_mem() { # 获取内存槽位总数 total_slots=$(sudo dmidecode -t memory | grep -i "Number Of Devices" | awk '{print $NF}') echo -e "${RED}内存信息:${NC}" echo "内存槽位总数: $total_slots" # 提取已安装的内存模块数量及详细信息 installed_memory_count=0 echo " 已安装的内存模块:" while IFS= read -r line; do size=$(echo "$line" | awk '{print $2}') slot=$(echo "$line" | awk -F': ' '{print $1}') if [[ "$size" != "No" && "$size" != "Unknown" ]]; then installed_memory_count=$((installed_memory_count + 1)) echo " ${slot}: ${size} GB" fi done < <(sudo dmidecode -t memory | grep -E "Size:|Locator:") echo " 已安装的内存模块数量: $installed_memory_count" # 获取内存总数(总容量) memory_total=$(free -h | awk '/^Mem:/ {print $2}') echo " 内存总数: $memory_total" echo "" } # 获取磁盘信息 get_disk() { echo -e "${RED}磁盘信息:${NC}" lsblk -d -o NAME,TYPE,SIZE | grep -v loop echo "" } # 获取GPU信息 get_gpu() { echo -e "${RED}GPU信息:${NC}" if command -v nvidia-smi &> /dev/null; then nvidia-smi -L else echo -e "未检测到NVIDIA GPU或nvidia-smi命令不可用。" echo -e "尝试使用lspci查找其他GPU设备:" fi echo "" } # 获取网络信息 get_network() { # 获取所有网络接口名称 interfaces=$(ls /sys/class/net/) # 打印所有网络接口名称 echo -e "${RED}所有网络接口:${NC}" for iface in $interfaces; do echo -e " ${GREEN}${iface}${NC}" done # 打印每个接口及其对应的 IPv4 地址 echo -e "\n${RED}接口及对应的 IPv4 地址:${NC}" for iface in $interfaces; do ip_address=$(ip -4 addr show dev "$iface" | grep -oP '(?<=inet\s)\d+(\.\d+){3}') if [ -n "$ip_address" ]; then echo -e " ${GREEN}${iface}:${NC} ${ip_address}" else echo -e " ${GREEN}${iface}:${NC} 无 IPv4 地址" fi done echo "" } # 主函数 main() { echo -e "==================== 服务器硬件信息报告 ====================" echo -e "日期: $current_date" echo -e "主机名: $hostname" echo -e "============================================================" get_pm_info get_cpu get_mem get_disk get_gpu get_network } # 执行主函数并将输出保存到文件 main | tee /tmp/server_info_$(date +%F_%H-%M-%S).txt

3.注意

  • • 根据自身环境进行修改脚本内容适配自己环境;

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值