【CentOS】CentOS系统硬件信息获取脚本

CentOS系统硬件信息获取脚本

在日常的 CentOS 系统管理中,我们经常需要获取系统的硬件信息,如 CPU 核心数、内存大小、硬盘容量和操作系统版本等。本文将介绍一个简单的 Bash 脚本,通过调用系统命令来获取这些信息,并格式化输出,方便管理员查看。

脚本功能概述

这个脚本主要实现以下功能:

  1. 获取 CPU 核心数
  2. 获取总内存大小
  3. 获取总硬盘容量
  4. 获取操作系统版本信息
  5. 将以上信息格式化为一个字符串输出

脚本代码

以下是完整的脚本代码:

#!/bin/bash# 获取CPU核心数
CPU_CORES=$(lscpu | grep "^CPU(s):" | awk '{print $2}')# 获取内存信息 (GB)
MEM_TOTAL=$(free -h | grep "Mem:" | awk '{print $2}')# 获取硬盘信息 (GB)
DISK_TOTAL=$(df -h --total | grep "total" | awk '{print $2}')# 获取操作系统信息
OS=$(cat /etc/os-release | grep "^NAME=" | cut -d '"' -f 2)# 格式化输出
OUTPUT="${CPU_CORES}H/${MEM_TOTAL}B/${DISK_TOTAL}/${OS}"# 打印输出
echo $OUTPUT

脚本详解

  1. 获取 CPU 核心数

    CPU_CORES=$(lscpu | grep "^CPU(s):" | awk '{print $2}')
    
    • lscpu 命令显示关于 CPU 架构的信息。
    • grep "^CPU(s):" 过滤出包含 CPU 核心数的信息行。
    • awk '{print $2}' 提取出第二列的 CPU 核心数量。
  2. 获取内存信息 (GB)

    MEM_TOTAL=$(free -h | grep "Mem:" | awk '{print $2}')
    
    • free -h 命令以人类可读的格式显示内存使用情况。
    • grep "Mem:" 过滤出包含内存总量的信息行。
    • awk '{print $2}' 提取出第二列的总内存大小。
  3. 获取硬盘信息 (GB)

    DISK_TOTAL=$(df -h --total | grep "total" | awk '{print $2}')
    
    • df -h --total 命令以人类可读的格式显示文件系统的磁盘使用情况,并总计所有文件系统。
    • grep "total" 过滤出包含总计磁盘信息的行。
    • awk '{print $2}' 提取出第二列的总硬盘容量。
  4. 获取操作系统信息

    OS=$(cat /etc/os-release | grep "^NAME=" | cut -d '"' -f 2)
    
    • cat /etc/os-release 命令读取操作系统的发布信息文件。
    • grep "^NAME=" 过滤出包含操作系统名称的行。
    • cut -d '"' -f 2 提取出双引号内的操作系统名称。
  5. 格式化输出

    OUTPUT="${CPU_CORES}H/${MEM_TOTAL}B/${DISK_TOTAL}/${OS}"
    
    • 将上述获取的信息按照 CPU核心数H/内存总量B/硬盘总量/操作系统 的格式组合成一个字符串。
  6. 打印输出

    echo $OUTPUT
    
    • 将格式化后的字符串打印输出到终端。

使用说明

  1. 将上述脚本保存为 system_info.sh 文件。
  2. 为脚本添加执行权限:
    chmod +x system_info.sh
    
  3. 运行脚本:
    ./system_info.sh
    

运行后,脚本将输出类似以下格式的信息:

2H/3.9GB/50G/CentOS Linux

该输出表示系统有 2 个 CPU 核心,3.9GB(4GB) 内存,50GB 硬盘空间,操作系统为 CentOS Linux。

总结

通过这个简单的脚本,系统管理员可以方便地获取 Linux 系统的基本硬件信息。这个脚本可以作为日常运维工作中的一个小工具,帮助快速了解系统资源情况。希望本文对你有所帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/50159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Minos 多主机分布式 docker-compose 集群部署

参考 docker-compose搭建多主机分布式minio - 会bk的鱼 - 博客园 (cnblogs.com) Minio 是个基于 Golang 编写的开源对象存储套件,虽然轻量,却拥有着不错的性能 中文地址:MinIO | 用于AI的S3 & Kubernetes原生对象存储 官网地址&#xf…

JavaScript数据筛选和模糊搜索

HTML样式&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>数据筛选</title><link rel"stylesheet" href"./css/data.css"> </head><body><div class"…

系留无人机在技术上有哪些优势或创新点

系留无人机在技术上具有显著的优势和创新点&#xff0c;主要体现在以下几个方面&#xff1a; 1. 长航时飞行作业&#xff1a; - 系留无人机系统由地面通过市电、发电机或电池组供电&#xff0c;并通过系留线缆将电力传输至无人机&#xff0c;实现了不间断供电。 - 这种供电方式…

Ubuntu对比两个文件内容有什么区别?

在Ubuntu&#xff08;或任何基于Linux的系统&#xff09;中&#xff0c;你可以使用多种命令行工具来比较两个文件的内容差异。以下是一些常用的方法&#xff1a; 1. **diff 命令**&#xff1a; diff 是Linux中用于比较两个文件差异的标准工具。它逐行比较文件&#xff0c;并显示…

QT5:嵌入式linux开发板调用键盘

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录​​​​​​​ 前言 一、Buildroot构建QT环境 1.1 构建环境 1.2 检查qtvirtualkeyboard库 二、测试过程 2.1 直接调用qtvirtualkeyboard 1.测试代码 2.测试效果 2.2 运行…

PyCharm2024 专业版激活设置中文

PyCharm2024 专业版激活设置中文 官网下载最新版&#xff1a;https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip」链接&#xff1a;https://pan.quark.cn/s/4929a884d8fe 激活步骤&#xff1a; 官网下载安装PyCharm &#xff1b;测试使用的202…

HJ87密码等级

这个题目就是细心处理一下就行&#xff0c;比较简单 #include <ctype.h> #include <stdio.h> #include <stdbool.h>void PrintLevel(unsigned int score) {if(score > 90){printf("VERY_SECURE");}else if(score > 80){printf("SECURE…

文件系统中元数据的隐患——缓存

热点文件&#xff08;尤其是大文件&#xff09;在查询或下载过程中&#xff0c;涉及大量的元信息访问。如果元信息较大且访问 QPS 较大时&#xff0c;就会导致实例网卡打满、CPU爆表&#xff0c;造成缓存失效&#xff08;缓存击穿&#xff09;&#xff1b;流量直接打到 DB 上&a…

细说MCU用DMA改变DAC输出信号频率和改善输出波形质量的方法

目录 一、参考硬件 二、修改定时器参数改变输出波形频率 三、改善波形质量 四、代码修改 五、查看结果 一、参考硬件 本项目的软件硬件工程参考作者的其他文章&#xff1a;细说MCU用DMA实现DAC输出的方法-CSDN博客 https://wenchm.blog.csdn.net/article/details/14065…

VUE3——001(02)、开发环境配置(vs code与git和gitee)

一、配置 Git 路径 系统装好&#xff0c;差不多的该安装的都安装了&#xff0c;剩下就是不用安装配置一下系统变量就行了&#xff08;当然&#xff0c;不想配变量重新安装一遍也是可以的&#xff09;。 记得配好了 git 的变量&#xff0c;在 vs code 中总是刷不出来&#xff0c…

Linux Vim教程:多文件编辑与窗口管理

目录 1. 多文件编辑基础 1.1 缓冲区管理 1.2 标签页管理 1.3 分屏管理 2. 多文件编辑的高级技巧 2.1 同时编辑多个文件 2.2 使用会话 2.3 使用寄存器 3. 窗口管理的实用技巧 3.1 窗口调整 3.2 窗口排列 3.3 快速切换 4. 使用插件增强多文件编辑与窗口管理 4.1 NE…

zabbix发送钉钉报警

钉钉机器人 https://www.jianshu.com/p/3a376a0c0b50 python3 脚本 #!/usr/bin/env python3 # pip3 install requests import sysimport requestskeyword "Zabbix"#alarmSubject sys.argv[1] #alarmMsg sys.argv[2]alarmMsg sys.argv[1]content {"msgty…

一篇文章讲清楚html css js三件套之html

目录 HTML HTML发展史 HTML概念和语法 常见的HTML标签: HTML 调试 错误信息分析 HTML文档结构 HTML5的新特性 结论 HTML HTML是网页的基础&#xff0c;它是一种标记语言&#xff0c;用于定义网页的结构和内容。HTML标签告诉浏览器如何显示网页元素&#xff0c;例如段落…

【轨物方案】成套开关柜在线监测物联网解决方案

随着物联网技术的发展&#xff0c;电力设备状态监测技术也得到了迅速发展。传统的电力成套开关柜设备状态监测方法主要采用人工巡检和定期维护的方式&#xff0c;这种方法不仅效率低下&#xff0c;而且难以保证设备的实时性和安全性。因此&#xff0c;基于物联网技术的成套开关…

photoshop学习笔记——选区

选区工具快捷键&#xff1a;M shift M 切换 矩形/椭圆选区工具 基本用法 选区框选出的地方被激活&#xff08;其后进行的操作&#xff0c;仅在选区中生效&#xff09; 选区工具选择后&#xff08;以矩形选区为例&#xff09; 按下鼠标左键拖动&#xff0c;画出一块矩形区…

【Java基础之lambda表达式的使用】

lambda表达式 什么是lambda表达式lambda表达式的格式使用场景使用前提省略规则 什么是lambda表达式 函数式编程思想&#xff08;面向过程&#xff09; 在数学中&#xff0c;函数就是有输入量和输出量的一套计算方法&#xff0c;就是拿“数据做操作”&#xff1b; 在面向对象的…

Transformer在时间序列预测上的应用1

Transformer在时间序列预测上的应用 摘要 Transformer最初是为了处理自然语言处理(NLP)任务而设计的,但由于其独特的架构和能力,它也被用于时间序列分析。Transformer应用于时间序列分析中的基本思想在于其自注意力机制,这使其能够有效捕捉时间序列数据中的长期依赖关系…

最新篇 接口测试工具Postman 企业常规面试题出炉~(附答案)

面试题目录 说下你对Postman的了解&#xff1f; Postman你在工作中使用流程是什么样的&#xff1f; Postman 你使用了哪些功能&#xff1f; Postman 里面如何管理测试环境&#xff1f; Postman如何设置关联&#xff1f; postman参数化有哪几种方式&#xff1f; 在postman中&…

Android平台RTSP|RTMP直播播放器技术接入说明

技术背景 大牛直播SDK自2015年发布RTSP、RTMP直播播放模块&#xff0c;迭代从未停止&#xff0c;SmartPlayer功能强大、性能强劲、高稳定、超低延迟、超低资源占用。无需赘述&#xff0c;全自研内核&#xff0c;行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以Android平台…

浏览器【WebKit内核】渲染原理【QUESTION-1】

浏览器【WebKit内核】渲染原理【QUESTION】 1.浏览器输入一个网址&#xff08;域名之后&#xff09;,浏览器会呈现一个新的页面&#xff0c;中间的过程是怎么实现的&#xff1f; 输入一个网址之后&#xff0c;首先DNS服务器会解析这个域名&#xff0c;将这个域名解析成IP地址&…