当前位置:首页>Linux>Linux查硬件/系统信息?这10个命令抄作业!(附查询脚本)

Linux查硬件/系统信息?这10个命令抄作业!(附查询脚本)

  • 2026-09-10 10:52:21
Linux查硬件/系统信息?这10个命令抄作业!(附查询脚本)
点击蓝字
关注我们

点击绿色处,至上向下⇩

引言

用Linux系统(比如银河麒麟、统信UOS、Ubuntu等),想知道电脑的CPU型号、硬盘序列号?想查系统内核版本、操作系统型号?不用找复杂工具,终端输入几个简单命令,就能一键获取所有信息!

今天这篇文章,把常用查询命令按 “硬件信息” 和 “系统信息” 分类,每个命令都标清楚 “作用 + 用法 + 怎么看结果”,小白不用懂原理,复制粘贴就能操作,收藏这篇就够了~

PART.01

先搞懂:怎么打开终端?(所有Linux系统通用)

通过命令不管查什么信息,第一步都是打开 “终端”,两种简单方法:

1.桌面左下角 “开始菜单”→ 搜索 “终端”,点击打开或者桌面右键在终端中打开;

2.快捷键:Ctrl + Alt + T(直接弹出终端,超方便)。

打开后,命令输完按 “回车”,就能显示结果啦~

PART.02

第一类:查询硬件信息(CPU、内存、硬盘等)

1.查CPU型号/核心数:lscpu

作用:快速看CPU的型号、核心数、线程数(比如是鲲鹏还是飞腾、海光,4核还是8核);

用法:终端直接输入lscpu →按回车;

怎么看结果:

重点看“Model name”:就是CPU型号(比如“Phytium FT-2000+/64”“Kunpeng 920 7260”);

重点看“CPU(s)”:总核心数(比如“8”就是8核);

重点看“Thread(s)percore”:每个核心的线程数(比如“2”就是超线程)。

2.查内存大小/频率:free -h或dmidecode -t memory

方法1(简单看大小):输入free -h →按回车;

结果看“Mem”行的“Total”:就是总内存(比如“15Gi”就是16G内存);

方法2(看详细参数):输入sudo dmidecode -t memory →按回车(输入电脑密码,看不到字符正常);

结果看“Size”:单条内存大小(比如“8192MB”就是8G);

看“Speed”:内存频率(比如“2666MT/s”就是2666MHz)。

3.查硬盘型号/容量/序列号:lsblk -f或smartctl -a /dev/sda

方法1(看容量/分区):输入lsblk -f →按回车;

结果看“NAME”(硬盘标识,比如“sda”是第一块硬盘)、“SIZE”(容量,比如“931.5G”就是1T硬盘);

方法2(看型号/序列号):先安装工具(输入sudo apt install smartmontools →按回车),再输入sudo smartctl -a /dev/sda(把“sda”换成你的硬盘标识,比如“sdb”);

结果看“Model Family”:硬盘型号;

看“Serial Number”:硬盘序列号(保修用得到)。

4.查主板型号/序列号:sudo dmidecode -t baseboard

作用:看主板的品牌、型号、序列号;

用法:输入sudo dmidecode -t baseboard →按回车(输密码);

怎么看:

“Manufacturer”:主板品牌(比如“Great Wall”“Inspur”);

“Product Name”:主板型号(比如“TW-6600”“NF5280M6”);

“Serial Number”:主板序列号。

5.查所有硬件概览:lshw

作用:一次性显示所有硬件(CPU、内存、主板、显卡、网卡等)的详细信息;

用法:输入sudo lshw →按回车;

小技巧:结果太多可以筛选,比如查显卡输入sudo lshw -C display,查网卡输入sudo lshw -C network。

PART.03

第二类:查询系统信息(内核、版本、型号)

1.查系统内核版本:uname -r或uname -a

作用:内核是系统的核心,比如想知道是5.4版本还是6.2版本;

方法1(简单看):输入uname -r→按回车(结果比如“5.15.0-78-generic”);

方法2(详细看):输入uname -a→按回车(还能看到系统架构、主机名)。

2.查操作系统版本/型号:cat /etc/os-release

作用:看你用的是银河麒麟、统信UOS还是Ubuntu,以及具体版本号;

用法:输入cat /etc/os-release→按回车;

怎么看:

“NAME”:系统名称(比如“Kylin”就是银河麒麟,“UOS”就是统信);

“VERSION”:系统版本(比如“V10”“22.04LTS”);

“ID”:系统标识(比如“kylin”“uos”)。

3.查系统安装时间/运行时长:uptime或last reboot

方法1(运行时长):输入uptime →按回车(结果比如“10:23:45 up 2 days,3 hours”就是运行了2天3小时);

方法2(安装/重启时间):输入last reboot →按回车(最上面一行就是上次重启时间,往前推就是大概安装时间)。

4.查主机名:host name

作用:看电脑的主机名(比如“user-PC”);

用法:输入host name →按回车(直接显示结果)。

5.查系统架构(32位/64位):arch

作用:确认系统是32位还是64位;

用法:输入arch →按回车;

结果解读:显示“x86_64”就是64位,“i386”就是32位(现在基本都是64位)

PART.04

收藏这篇,Linux查信息不用愁!

以上10个命令,覆盖了90%的硬件和系统查询需求,小白只需“打开终端→复制命令→按回车→看重点”,就能快速获取想要的信息。

如果操作中遇到命令无效、看不懂结果,或者想查某个特定硬件(比如显卡、打印机)的信息,欢迎在评论区留言,技术人员会帮你解答~赶紧收藏转发,下次查信息直接抄作业!

以下脚本可以帮助查询硬件、软件、磁盘等相关信息,请谨慎使用。

#!/bin/bash######################################################################################################### @XC运维视界# @author# @company_name ######################################################################################################### @Scpript      该脚本用于系统日常常规参数                                             ################################################################################################################################头部信息echoHeadInfo(){ cat << EOF+--------------------------------------------------------------+|                       请谨慎使用【信息查询工具】            |+--------------------------------------------------------------+EOF}function RED(){  echo -e "\033[31m$@\033[0m"}function GRE(){  echo -e "\033[32m$@\033[0m"}function OS_INFO(){  # 系统名  local OS_NAME=`uname -n`  # 系统版本  local OS_VERSION=`cat /etc/issue || echo 获取信息失败`  # 系统类型  local OS_TYPE=`uname`  # 主机序列号  local OS_NUM=`dmidecode -t system | grep 'Serial Number' | awk '{print $3}'`  # 系统内核版本  local OS_KERNEL=`uname -r`  # 系统机器码  local OS_CODE=`dmidecode -t 1 |grep 'UUID'`  # 系统语言环境  local OS_LANG=`echo $LANG`  # 系统时间  local OS_DATE=`date +"%Y-%m-%d %H:%M:%S"`  # 系统运行时间  local OS_UPTIME=`uptime | awk -F',' '{sub(/.*up /,"",$1);print $1'} || echo 获取信息失败`  # 系统上次重启时间  local OS_LAST_REBOOT=`last reboot | head -1 | awk '{print $5,$6,$7,$8,$10}'`  # 系统上次关机时间  local OS_LAST_SHUTDOWN=`last -x | grep shutdown | head -1 | awk '{print $5,$6,$7,$8,$10}'`  RED "################################# [ 系统信息巡检区 ] ######################################"  GRE "主机名:$OS_NAME"  GRE "主机类型:$OS_TYPE"  GRE "主机序列号:${OS_NUM:-获取信息失败}"  GRE "系统版本:$OS_VERSION"  GRE "系统内核版本:$OS_KERNEL"  GRE "系统机器码:${OS_CODE:-获取信息失败}"  GRE "系统语言环境:${OS_LANG}"  GRE "系统时间;$OS_DATE"  GRE "系统已运行时间:$OS_UPTIME"  GRE "系统上次重启时间:${OS_LAST_REBOOT:-获取信息失败}"  GRE "系统上次关机时间:${OS_LAST_SHUTDOWN:-获取信息失败}"}function OS_HDWARE(){  # CPU架构  local CPU_ARCH=`uname -m`  # CPU型号  local CPU_TYPE=`cat /proc/cpuinfo | grep "model name" | uniq | awk -F':' '{sub(/ /,"",$2);print $2}'`  # CPU个数  local CPU_NUM=`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l`  # CPU 核数  local CPU_CORE=`cat /proc/cpuinfo | grep cores | uniq | awk -F':' '{sub(/ /,"",$2);print $2}'`  # CPU 频率  local CPU_HZ=`cat /proc/cpuinfo | grep "cpu MHz" | uniq | awk -F':' '{sub(/ /,"",$2);printf "%s MHz\n",$2}'`  # 内存容量  local ME_SIZE=$(echo "scale=2;`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`/1048576"|bc)  # 空闲内存  local ME_FREE=$(echo "scale=2;`cat /proc/meminfo | grep 'MemFree:' | awk '{print $2}'`/1048576"|bc)  # 可用内存  local ME_FREEE=$(echo "scale=2;`cat /proc/meminfo | grep 'MemAvailable:' | awk '{print $2}'`/1048576" | bc)  # 内存使用率  local ME_USE=$(awk 'BEGIN{printf "%.1f%\n",('$ME_SIZE'-'$ME_FREEE')/'$ME_SIZE'*100}')  # SWAP大小  local ME_SWAP_SIZE=$(echo "scale=2;`cat /proc/meminfo | grep 'SwapTotal:' | awk '{print $2}'`/1048576"|bc)  # SWAP可用  local ME_SWAP_FREE=$(echo "scale=2;`cat /proc/meminfo | grep 'SwapFree:' | awk '{print $2}'`/1048576"|bc)  # SWAP使用率  local ME_SWAP_USE=$(awk 'BEGIN{printf "%.1f%\n",('$ME_SWAP_SIZE'-'$ME_SWAP_FREE')/'$ME_SWAP_SIZE'*100}')  # Buffer大小  local ME_BUF=$(cat /proc/meminfo | grep 'Buffers:' | awk '{printf "%s KB",$2}')  # 内存Cache大小  local ME_CACHE=$(cat /proc/meminfo | grep '^Cached:' | awk '{printf "%s KB",$2}')  # 当前系统所有网卡  local NET_DEVICE=(`cat /proc/net/dev | awk 'NR>2 && $1 !~/lo/ {sub(/:/,"");print $1}'`)  RED "################################# [ 系统硬件巡检区 ] ######################################"  GRE "CPU型号:$CPU_TYPE"  GRE "CPU架构:$CPU_ARCH"  GRE "CPU个数:$CPU_NUM"  GRE "CPU核数: $CPU_CORE"  GRE "CPU频率:$CPU_HZ"  GRE "内存容量:${ME_SIZE} GB"  GRE "内存空闲:${ME_FREE} GB"  GRE "内存可用:${ME_FREEE} GB"  GRE "内存使用率:${ME_USE}"  GRE "SWAP容量:$ME_SWAP_SIZE GB"  GRE "SWAP可用容量:$ME_SWAP_FREE GB"  GRE "SWAP使用率:$ME_SWAP_USE"  GRE "内存Buffer大小:${ME_BUF}"  GRE "内存Cache大小:${ME_CACHE}"  for i in ${NET_DEVICE[@]}  do    GRE "网卡:$i  状态: $(ip link show ens33 | awk 'NR==1{print $9}') RX: $(ethtool -g ens33 | grep "RX:" | tail -1 | awk '{print $2}') TX: $(ethtool -g ens33 | grep "TX:" | tail -1 | awk '{print $2}')"  done}function OS_NETWORK(){  # 系统IP  local IP=$(hostname -I)  # 网关地址  local GATEWAY=$(ip route | grep default &>/dev/null && ip route | grep default | awk '{print $3}' || echo '未设置默认网关')  # DNS地址  local DNS=(`cat /etc/resolv.conf | grep nameserver | uniq | awk '{print $2}'`)  RED "################################# [ 系统网络巡检区 ] ######################################"  GRE "IP地址:$IP"  GRE "网关地址:$GATEWAY"  GRE "DNS地址:${DNS[@]}"  GRE "网关[$GATEWAY]连接情况: $(ping -t 1 -i 1 -c 5 -W 1 192.168.0.2 &>/dev/null && echo '正常通信' || echo '无法通信')"}function OS_RESOURCE(){  # 系统磁盘列表  local DISK_LIST=(`lsblk | egrep "^[a-z].*" | grep -v "^sr" | awk '{print $1}'`)  # 系统磁盘使用率情况  local DISK_PER=(`df -h | awk 'NR>1 && $1 !~/sr/ {gsub(/%/,"",$5);print $5}'`)  # CPU空闲率  local CPU_FREE=$(top -d 1 -n 1 -b | awk 'NR==3{print $8}')  # CPU使用率  local CPU_USE=$(awk 'BEGIN{printf "%.1f%\n",100-'$CPU_FREE'}')  # CPU_TOP_TEN  local CPU_TOP_TEN=$(top -d 1 -n 1 -b | column -t | awk 'NR>=7 && NR<=15')  # 当前进程数  local CPU_PROCESSORS=$(top -d 1 -n 1 -b | awk 'NR==2{print $2}')  # 当前正在运行进程数  local CPU_RUN_PROCESSORS=$(top -d 1 -n 1 -b | awk 'NR==2{print $4}')  # 当前正在休眠进程数  local CPU_SL_PROCESSORS=$(top -d 1 -n 1 -b | awk 'NR==2{print $6}')  # 当前停止运行进程数  local CPU_STOP_PROCESSORS=$(top -d 1 -n 1 -b | awk 'NR==2{print 8}')  # 当前僵尸进程数  local CPU_ZOM_PROCESSORS=$(top -d 1 -n 1 -b | awk 'NR==2{print $10}')  RED "################################# [ 系统资源巡检区 ] ######################################"  GRE "CPU使用率:$CPU_USE"#GRE "CPU使用率前十进程信息:"#GRE "$(ps -eo user,pid,pcpu,pmem,args --sort=-pcpu | head -n 10)"#GRE "\n内存使用率前十进程信息:"#GRE "$(ps -eo user,pid,pcpu,pmem,args --sort=-pmem | head -n 10)"  GRE "\n磁盘IO信息:$(iotop -bon 1 &>/dev/null || echo 'io top 未安装信息获取失败')"  GRE "$(iotop -bon 1 &>/dev/null && iotop -bon 1 | head -n 13)"  GRE "\n磁盘分区使用率是否正常:正常"  for i in ${DISK_LIST[@]}  do    if [[ -z "$(lsblk --nodeps -no serial /dev/$i)" ]]; then      GRE "磁盘:$i  磁盘序列号:获取信息失败"      else      GRE "磁盘:$i  磁盘序列号:$(lsblk --nodeps -no serial /dev/$i)"    fi  done  for i in ${DISK_PER[@]}  do    if [ $i -gt 80 ]; then      RED "某分区磁盘使用率为:$i% > 80% 请及时扩容"    fi  done  GRE "\n系统磁盘分区inode使用情况:"  GRE "$(df -Thi)"  GRE "\n系统当前进程数:$CPU_PROCESSORS"    GRE "系统当前进程运行数:$CPU_RUN_PROCESSORS"  GRE "系统当前休眠进程数:$CPU_SL_PROCESSORS"  GRE "系统当前停止进程数:$CPU_STOP_PROCESSORS"  GRE "系统当前僵尸进程数:$CPU_ZOM_PROCESSORS"  GRE "\n系统当前允许最大fd数量:$(cat /proc/sys/fs/file-nr | awk '{print $3}')"  GRE "系统当前已打开fd数量:$(cat /proc/sys/fs/file-nr | awk '{print $1}')"  GRE "系统单个进程运行打开fd数量:$(ulimit -n)"  GRE "\n系统当前socket连接数:$(netstat -anp &>/dev/null && netstat -anp | wc -l || echo 'net-tools 未安装,获取信息失败')"  GRE "系统 established socket数量: $(netstat -anp &>/dev/null && netstat -anp | grep "ESTABLISHED" | wc -l || echo 'net-tools 未安装,获取信息失败')"  GRE "系统 sync socket数量:$(netstat -anp &>/dev/null && netstat -anp | grep "SYN" | wc -l || echo 'net-tools 未安装,获取信息失败')"  GRE "系统当前已建立socket如下:"  GRE "$(netstat -anp &>/dev/null && netstat -anp | grep ESTABLISHED | awk '{printf "  本地:%-20s <=>    外部:%-22s\n",$4,$5}' || echo '')"}function OS_SECURITY(){  # 系统所有能登录的用户  local OS_USER=(`cat /etc/passwd | awk -F':' '$NF !~/nologin|sync|shutdown|halt/ {print $1}'`)  # Selinux  local OS_SELINUX=`getenforce`  # 防火墙状态  local OS_FIREWALLD=`service firewalld status &>/dev/null | grep "running" && echo on || echo off`  RED "################################# [ 系统安全巡检区 ] ######################################"  GRE "防火墙状态: $OS_FIREWALLD"  GRE "Selinux状态:${OS_SELINUX}\n"  GRE "系统可登录用户数:$(cat /etc/passwd | awk -F':' '$NF !~/nologin|sync|shutdown|halt/ {print $1}' | wc -l)"  GRE "系统可登录用户:${OS_USER[@]}"  for i in ${OS_USER[@]}  do    GRE "用户 $i 最后1次登录信息: $(lastlog -u $i | awk 'NR==2')"  done  GRE "系统当前登录用户:"  GRE "$(who | sed 's#[()]##g' | awk '{printf "   用户: %10s 终端: %7s 登录时间: %7s %7s 登录IP: %7s\n",$1,$2,$3,$4,$5}')"}function OS_SERVICE(){  RED "################################# [ 系统服务巡检区 ] ######################################"  GRE "自行添加"}if [ $(id -u -n) != "root" ]; then  ERROR "请以ROOT用户运行这个脚本"fiOS_INFOOS_HDWAREOS_NETWORKOS_RESOURCEOS_SECURITY

按照这些方法操作,能有效解决国产电脑及操作系统在办公中遇到的问题。大家赶紧试试,让电脑重新流畅起来,高效办公!

互动话题

您在使用国产电脑的过程中有遇到过类似问题吗?欢迎在评论区分享您的破局经验~  

版权及内容声明

本文内容基于相关政策文件、行业报告及运维实践经验整理分析,相关观点为作者团队结合信创终端服务现状的独立思考,不代表任何相关部门、企业或机构的官方立场。文中案例及数据来源于公开渠道,部分信息经合理推演形成,旨在为信创运维服务优化提供参考思路。我们始终严格遵守信创产业相关法律法规及技术规范,若涉及具体政策解读或项目实施,建议以官方发布文件及专业机构意见为准。如需转载或引用文中内容,请注明 “来源:XX 公众号(XC运维视界)” 并保持信息完整性。

感谢您对信创产业发展的关注与支持,期待与行业同仁共同探讨国产化信息技术服务的创新路径。

END

XC运维视界
关  注  我  们
了  解  更  多

精选文章
硬件设施
外设利旧
应用软件
操作系统
运维服务
生态适配
网络安全
智能运维
服务咨询
基础教程
我们贴心备至
用户答疑
小云在线服务
加入团队
团队欢迎你加入

最新文章

随机文章