Linux中收集【系统】和【硬件】信息的30个常用命令总结
- 1. Linux 系统信息收集命令
- 1.1 uname – 核心系统信息
- 1.2 hostname – 主机标识信息
- 1.3 cat /etc/os-release – 发行版信息
- 1.4 uptime – 系统运行时间
- 1.5 date – 系统时间信息
- 1.6 who / w – 用户登录信息
- 1.7 getconf – 系统配置参数
- 1.8 runlevel – 系统运行级别
- 1.9 env / printenv – 环境变量
- 1.10 dmesg – 内核日志信息
- 1.11 journalctl – 系统日志(systemd 系统)
- 1.12 ulimit – 用户资源限制
- 1.13 sysctl – 内核参数
- 1.14 systemctl – 服务状态
- 1.15 firewall-cmd – 防火墙状态查看(RHEL/CentOS 系)
- 2. Linux 硬件信息收集命令
- 2.1 lscpu – CPU 详细信息
- 2.2 free – 内存使用情况
- 2.3 lsblk – 块设备信息
- 2.4 df – 磁盘空间使用
- 2.5 lspci – PCI 设备信息
- 2.6 lsusb – USB 设备信息
- 2.7 dmidecode – 查看硬件组件信息
- 2.8 cat /proc/cpuinfo – CPU 详细信息
- 2.9 cat /proc/meminfo – 内存详细信息
- 2.10 lsscsi – SCSI/SATA 设备列表工具
- 2.11 ip / ifconfig – 网络接口信息
- 2.12 fdisk – 磁盘分区表信息
- 2.13 hdparm – 硬盘参数和性能
- 2.14 smartctl – 硬盘健康状态监控
- 2.15 lshw – 全面的硬件信息工具

在 Linux 系统运维中,精准掌握系统与硬件信息是高效管理的基础。无论是日常监控、故障排查,还是性能优化,都需要依赖一系列强大的命令行工具。本文详细梳理了 30 个核心命令,涵盖从系统基础信息(如uname、hostname)到硬件深度诊断(如lscpu、smartctl)的全场景需求。这些命令不仅能帮助管理员快速识别系统架构、资源使用情况及硬件状态,还能通过脚本化实现自动化运维,显著提升管理效率与系统稳定性。以下是对这些命令的分类解析与实用示例。
1. Linux 系统信息收集命令
1.1 uname – 核心系统信息
显示 Linux 系统内核和硬件架构的基本信息,是最基础的系统识别命令,它能快速确认系统版本、架构,进行软件兼容性检查。常用选项如下:
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| -a | 显示所有系统信息 | 快速查看完整的系统概况,用于初步诊断和兼容性检查 |
| -r | 显示内核版本号 | 驱动安装、内核问题排查、安全漏洞评估 |
| -m | 显示系统硬件架构 | 软件包选择、架构兼容性确认 |
| -s | 显示内核名称 | 系统类型识别,确认是否为 Linux 系统 |
| -p | 显示处理器类型 | 处理器架构详细信息查询 |
| -o | 显示操作系统名称 | 确认操作系统类型(通常为 GNU/Linux) |
如下,显示信息:
[wyadmin@backup ~]$ uname -a Linux backup 5.14.0-570.17.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 23 22:47:01 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux [wyadmin@backup ~]$ uname -r 5.14.0-570.17.1.el9_6.x86_64 [wyadmin@backup ~]$ uname -m x86_64 [wyadmin@backup ~]$ uname -s Linux [wyadmin@backup ~]$ uname -p x86_64 [wyadmin@backup ~]$ uname -o GNU/Linux [wyadmin@backup ~]$
1.2 hostname – 主机标识信息
显示或设置系统的主机名,用于网络标识和服务器管理。
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| (无选项) | 显示当前系统主机名 | 快速查看服务器标识,日常系统检查 |
| -f | 显示完整域名(FQDN) | DNS 配置验证、邮件服务器设置、网络服务配置 |
| -I | 显示所有网络接口的 IP 地址 | 网络配置检查、多 IP 服务器管理、防火墙规则设置 |
| -i | 显示主机的 IP 地址 | 快速获取服务器 IP 地址 |
如下,实际显示信息:
[root@yyzcdb81 ~]# hostname yyzcdb81 [root@yyzcdb81 ~]# hostname -f yyzcdb81 [root@yyzcdb81 ~]# hostname -I 172.16.250.81 192.168.122.1 [root@yyzcdb81 ~]# hostname -i 172.16.250.81 [root@yyzcdb81 ~]#
1.3 cat /etc/os-release – 发行版信息
查看 Linux 发行版的详细信息文件,包含版本号、发行版名称等。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| cat /etc/os-release | 显示详细的发行版信息(标准格式) | 获取准确发行版名称、版本号、ID 等标准化信息 |
| cat /etc/*-release | 兼容各种发行版的查看方式 | 在不了解具体发行版时,通用查看发行版信息 |
| lsb_release -a | 使用 LSB 标准显示发行版信息 | 获取符合 Linux 标准基础规范的系统信息,兼容性好 |
显示如下:
[wyadmin@backup ~]$ cat /etc/os-release NAME="Rocky Linux" VERSION="9.6 (Blue Onyx)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="9.6" PLATFORM_ID="platform:el9" PRETTY_NAME="Rocky Linux 9.6 (Blue Onyx)" ANSI_COLOR="0;32" LOGO="fedora-logo-icon" CPE_NAME="cpe:/o:rocky:rocky:9::baseos" HOME_URL="https://rockylinux.org/" VENDOR_NAME="RESF" VENDOR_URL="https://resf.org/" BUG_REPORT_URL="https://bugs.rockylinux.org/" SUPPORT_END="2032-05-31" ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9" ROCKY_SUPPORT_PRODUCT_VERSION="9.6" REDHAT_SUPPORT_PRODUCT="Rocky Linux" REDHAT_SUPPORT_PRODUCT_VERSION="9.6" [wyadmin@backup ~]$
1.4 uptime – 系统运行时间
显示系统已经运行了多长时间,当前登录用户数和系统平均负载。
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| (无选项) | 显示系统运行时间、登录用户数、系统平均负载 | 日常系统健康检查、负载监控 |
| -p | 以简洁格式显示系统运行时间 | 快速查看系统连续运行时间,易于阅读 |
| -s | 显示系统启动的具体时间戳 | 系统故障排查、启动时间记录、审计追踪 |
比如:
[wyadmin@backup ~]$ uptime 10:11:02 up 82 days, 22:43, 1 user, load average: 0.08, 0.08, 0.06 [wyadmin@backup ~]$ uptime -p up 11 weeks, 5 days, 22 hours, 43 minutes [wyadmin@backup ~]$ uptime -s 2025-10-22 11:27:22 [wyadmin@backup ~]$
1.5 date – 系统时间信息
显示或设置系统的日期和时间,支持多种格式输出,适用于时间同步检查、日志时间戳、定时任务调试。
| 命令格式 | 功能描述 | 使用场景 |
|---|---|---|
| date | 显示当前日期和时间(默认格式) | 日常时间查看,快速确认系统时间 |
| date +”%Y-%m-%d %H:%M:%S” | 自定义格式显示日期时间 | 日志记录、文件名时间戳、脚本中格式化时间 |
| date -R | RFC 2822 格式显示日期时间 | 邮件头部、HTTP 协议、标准日志格式 |
| date +%s | 显示 Unix 时间戳(秒数) | 脚本计时、时间间隔计算、数据库时间戳 |
示例:
[wyadmin@backup ~]$ date Tue Jan 13 10:16:02 AM CST 2026 [wyadmin@backup ~]$ date +"%Y-%m-%d %H:%M:%S" 2026-01-13 10:16:41 [wyadmin@backup ~]$ date -R Tue, 13 Jan 2026 10:16:52 +0800 [wyadmin@backup ~]$ date +%s 1768270625 [wyadmin@backup ~]$
1.6 who / w – 用户登录信息
显示当前登录系统的用户信息和活动状态。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| who | 显示当前登录用户的用户名、终端、登录时间、来源 IP | 当前会话监控,多用户系统管理 |
| who -b | 显示系统最后一次启动时间 | 系统稳定性分析,运行时间记录 |
| w | 显示详细的用户信息,包括登录时间、空闲时间、当前执行的命令 | 用户活动监控,系统资源占用分析 |
| last | 显示系统登录历史记录(包括登录、重启、关机) | 安全审计,异常登录检测,访问历史追踪 |
举例:
[wyadmin@backup ~]$ who wyadmin pts/0 2026-01-13 09:33 (10.10.2.23) [wyadmin@backup ~]$ who -b system boot 2025-10-22 19:27 [wyadmin@backup ~]$ w 10:22:41 up 82 days, 22:55, 1 user, load average: 0.15, 0.14, 0.09 USER TTY LOGIN@ IDLE JCPU PCPU WHAT wyadmin pts/0 09:33 0.00s 0.19s 0.00s w [wyadmin@backup ~]$ last wyadmin pts/0 10.10.2.23 Tue Jan 13 09:33 still logged in wyadmin pts/0 10.10.2.23 Thu Jan 8 10:46 - 17:30 (06:44) wyadmin pts/0 10.10.2.23 Wed Jan 7 17:33 - 17:33 (00:00) wyadmin pts/0 10.10.2.23 Wed Jan 7 17:05 - 17:30 (00:24)
1.7 getconf – 系统配置参数
获取系统特定的配置值,如系统位数、内存页大小等。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| getconf LONG_BIT | 显示系统位数:32 或 64 | 软件兼容性检查,确定应安装 32 位还是 64 位软件 |
| getconf PAGE_SIZE | 显示内存页大小(通常为 4096 字节) | 内存管理和性能调优,内核参数配置参考 |
| getconf -a | 显示所有可用的系统配置值 | 全面的系统配置查看,高级调试和性能优化 |
举例:
[wyadmin@backup ~]$ getconf LONG_BIT 64 [wyadmin@backup ~]$ getconf PAGE_SIZE 4096 [wyadmin@backup ~]$
1.8 runlevel – 系统运行级别
显示当前系统的运行级别(init 系统)或默认目标(systemd 系统)。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| runlevel | 显示前一个和当前运行级别(如:N 3) | init 系统运行状态检查,启动过程分析 |
| who -r | 显示当前运行级别(init 系统) | 快速查看系统运行级别,兼容性检查 |
| systemctl get-default | 显示 systemd 系统的默认启动目标 | systemd 系统默认启动项管理,启动配置检查 |
| systemctl list-units –type=target | 显示 systemd 系统中所有可用的目标 | systemd 启动目标管理,系统服务配置 |
举例:
[wyadmin@backup ~]$ runlevel N 3 [wyadmin@backup ~]$ who -r run-level 3 2025-10-22 19:32 [wyadmin@backup ~]$ systemctl get-default multi-user.target [wyadmin@backup ~]$
1.9 env / printenv – 环境变量
显示当前 shell 环境中的所有环境变量或特定变量。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| env | 显示当前 shell 的所有环境变量 | 全面查看环境配置,调试环境相关问题 |
| printenv | 显示所有环境变量(与 env 功能相似) | 环境变量查看,脚本兼容性 |
| echo $PATH | 显示 PATH 环境变量的内容 | 检查命令搜索路径,解决命令找不到问题 |
| echo $SHELL | 显示当前使用的 shell 程序 | 确认用户 shell 类型,脚本兼容性检查 |
| env | grep -i lang | 查找语言和区域设置相关的环境变量 | 多语言环境配置,字符编码问题排查 |
举例:
[wyadmin@backup ~]$ env SHELL=/bin/bash HISTCONTROL=ignoredups HISTSIZE=1000 HOSTNAME=backup PWD=/home/wyadmin LOGNAME=wyadmin XDG_SESSION_TYPE=tty MODULESHOME=/usr/share/Modules MANPATH=/usr/share/man: MOTD_SHOWN=pam __MODULES_SHARE_MANPATH=:1 HOME=/home/wyadmin LANG=en_US LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01; …… [wyadmin@backup ~]$ echo$PATH /home/wyadmin/.local/bin:/home/wyadmin/bin:/usr/share/Modules/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin [wyadmin@backup ~]$ echo$SHELL /bin/bash [wyadmin@backup ~]$ env | grep -i lang LANG=en_US [wyadmin@backup ~]$
1.10 dmesg – 内核日志信息
显示内核环形缓冲区中的消息,包含系统启动时的硬件检测信息,主要进行硬件故障排查、驱动程序问题、启动过程分析。
| 命令用法 | 功能描述 | 使用场景 |
|---|---|---|
| dmesg | head -50 | 查看最近 50 条内核消息 | 快速查看最新的内核事件和硬件检测信息 |
| dmesg | grep -i memory | 查找与内存相关的内核消息 | 内存故障排查,内存模块检测问题 |
| dmesg -T | 显示人类可读的时间戳 | 精确的时间线分析,事件发生时间追踪 |
| dmesg –level=err,warn | 只显示错误和警告级别的消息 | 快速定位系统错误和警告,故障排查 |
举例:
[wyadmin@backup ~]$ dmesg --level=err,warn [ 0.248891] pnp 00:04: disabling [mem 0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x00000000-0xdfffffff 64bit pref] [ 0.266009] pci 10000:e0:1d.4: Primary bus is hard wired to 0 [ 0.266535] pci 10000:e0:1d.4: Primary bus is hard wired to 0 [ 0.424491] pci 10000:e1:00.0: can't override BIOS ASPM; OS doesn't have ASPM control [ 0.424510] pcieport 10000:e0:1d.4: can't derive routing for PCI INT A [ 0.424511] pcieport 10000:e0:1d.4: PCI INT A: no GSI [ 0.427578] hpet_acpi_add: no address or irqs in _CRS [ 0.452491] tpm tpm0: [Firmware Bug]: TPM interrupt not working, polling instead [ 0.710971] ENERGY_PERF_BIAS: Set to 'normal', was 'performance' [ 1.055676] acpi PNP0C14:01: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00) ……
1.11 journalctl – 系统日志(systemd 系统)
在 systemd 系统中查看和管理系统日志的强大工具。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| journalctl -k | 查看内核日志(类似 dmesg) | 内核问题诊断,硬件驱动故障排查 |
| journalctl -b | 查看本次系统启动的日志 | 启动问题分析,服务启动失败排查 |
| journalctl –since “2026-01-10” –until “2026-01-12” | 查看指定时间范围内的日志 | 时间相关事件追踪,安全审计 |
| journalctl -u ssh | 查看特定服务(如 ssh)的日志 | 服务故障排查,服务状态监控 |
| journalctl -f | 实时跟踪日志输出 | 实时监控系统活动,故障实时诊断 |
举例:
[wyadmin@backup ~]$ journalctl -b Jan 11 08:31:09 backup sshd[1330041]: pam_unix(sshd:auth): check pass; user unknown Jan 11 08:31:09 backup sshd[1330041]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 t> Jan 11 08:31:09 backup rsyslogd[1569]: imjournal: journal files changed, reloading... [v8.2412.0-1.el9 tr> Jan 11 08:31:09 backup rsyslogd[1569]: imjournal: journal files changed, reloading... [v8.2412.0-1.el9 tr> Jan 11 08:31:09 backup rsyslogd[1569]: imjournal: journal files changed, reloading... [v8.2412.0-1.el9 tr> Jan 11 08:31:09 backup sshd[1330045]: pam_unix(sshd:auth): check pass; user unknown ……
1.12 ulimit – 用户资源限制
显示或设置当前用户会话的资源限制,如打开文件数、进程数等。
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| -a | 显示当前用户会话的所有资源限制 | 全面查看系统资源限制配置 |
| -n | 显示最大可打开文件描述符数量 | 高并发应用调优,文件处理问题排查 |
| -u | 显示最大用户进程数限制 | 进程数量限制检查,守护进程管理 |
| -c | 显示 core 文件大小限制 | 程序崩溃调试,core dump 文件生成配置 |
举例:
[wyadmin@backup ~]$ ulimit -a real-time non-blocking time (microseconds, -R) unlimited core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 62427 max locked memory (kbytes, -l) 8192 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 62427 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited [wyadmin@backup ~]$ ulimit -c unlimited [wyadmin@backup ~]$ ulimit -n 1024 [wyadmin@backup ~]$
1.13 sysctl – 内核参数
在运行时查看和修改内核参数,影响系统行为和性能。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| sysctl -a | 显示所有当前生效的内核参数 | 全面的内核配置查看,系统调优参考 |
| sysctl kernel.version | 显示内核版本参数 | 内核版本和编译信息确认 |
| sysctl net.ipv4.ip_forward | 查看 IP 转发设置状态 | 网络路由配置检查,网关/路由器功能验证 |
举例:
[wyadmin@backup ~]$ sysctl kernel.version kernel.version = #1 SMP PREEMPT_DYNAMIC Fri May 23 22:47:01 UTC 2025 [wyadmin@backup ~]$ sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 [wyadmin@backup ~]$
1.14 systemctl – 服务状态
管理系统服务状态,不同初始化系统使用不同的命令,这里主要针对 systemd 系统。
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| systemctl status | 显示系统整体状态概览 | 快速查看系统健康状态,服务运行概况 |
| systemctl list-units –type=service | 列出所有系统服务及其状态 | 服务管理,启动/停止服务操作 |
| systemctl status sshd | 查看特定服务(如 ssh)的详细状态 | 服务故障排查,服务监控和维护 |
举例:
[wyadmin@backup ~]$ systemctl status * backup State: degraded Units: 429 loaded (incl. loaded aliases) Jobs: 0 queued Failed: 1 units Since: Wed 2025-10-22 19:27:24 CST; 2 months 21 days ago systemd: 252-51.el9 CGroup: / |-init.scope | `-1 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31 |-system.slice | |-ModemManager.service | | `-918 /usr/sbin/ModemManager | |-NetworkManager.service | | `-1048 /usr/sbin/NetworkManager --no-daemon ……
1.15 firewall-cmd – 防火墙状态查看(RHEL/CentOS 系)
firewall-cmd 是 RHEL/CentOS 系列 Linux 系统中用于配置和管理 firewalld 动态防火墙的命令行工具,用它来查看防火墙的信息
| 命令 | 功能描述 | 使用场景 |
|---|---|---|
| firewall-cmd –state | 检查 firewalld 防火墙运行状态 | 快速确认 firewalld 服务是否正在运行 |
| firewall-cmd –list-all | 显示当前区域的所有配置(服务、端口、源等) | 查看完整的防火墙规则和区域配置 |
| firewall-cmd –list-ports | 列出所有开放的端口 | 端口开放状态检查,网络服务配置验证 |
| firewall-cmd –list-services | 列出所有允许的服务 | 服务访问权限检查,网络安全审计 |
| firewall-cmd –get-active-zones | 显示所有活动的区域 | 查看当前活动的防火墙区域配置 |
| firewall-cmd –zone=public –list-all | 查看指定区域(如 public)的配置 | 特定区域防火墙规则管理 |
举例:
[wyadmin@backup ~]$ sudo firewall-cmd --state running [wyadmin@backup ~]$ sudo firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: enp1s0 sources: services: cockpit dhcpv6-client ssh ports: 22/tcp protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: [wyadmin@backup ~]$ sudo firewall-cmd --get-active-zones public interfaces: enp1s0 [wyadmin@backup ~]$
2. Linux 硬件信息收集命令
2.1 lscpu – CPU 详细信息
显示 CPU 架构的详细信息,包括型号、核心、线程、缓存等。
# 显示完整的 CPU 信息 [root@backup ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 20 On-line CPU(s) list: 0-19 Thread(s) per core: 2 Core(s) per socket: 10 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 85 Model name: Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz Stepping: 7 CPU MHz: 1000.195 CPU max MHz: 3200.0000 CPU min MHz: 1000.0000 BogoMIPS: 4800.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 1024K L3 cache: 14080K NUMA node0 CPU(s): 0-19 ……
以扩展表格格式显示:
[root@backup ~]# lscpu -e CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ 0 0 0 0 0:0:0:0 yes 3200.0000 1000.0000 1 0 0 1 1:1:1:0 yes 3200.0000 1000.0000 2 0 0 2 2:2:2:0 yes 3200.0000 1000.0000 3 0 0 3 3:3:3:0 yes 3200.0000 1000.0000 4 0 0 4 4:4:4:0 yes 3200.0000 1000.0000 5 0 0 5 5:5:5:0 yes 3200.0000 1000.0000 6 0 0 6 6:6:6:0 yes 3200.0000 1000.0000 7 0 0 7 7:7:7:0 yes 3200.0000 1000.0000 8 0 0 8 8:8:8:0 yes 3200.0000 1000.0000 9 0 0 9 9:9:9:0 yes 3200.0000 1000.0000 10 0 0 0 0:0:0:0 yes 3200.0000 1000.0000 11 0 0 1 1:1:1:0 yes 3200.0000 1000.0000 12 0 0 2 2:2:2:0 yes 3200.0000 1000.0000 13 0 0 3 3:3:3:0 yes 3200.0000 1000.0000 14 0 0 4 4:4:4:0 yes 3200.0000 1000.0000 15 0 0 5 5:5:5:0 yes 3200.0000 1000.0000 16 0 0 6 6:6:6:0 yes 3200.0000 1000.0000 17 0 0 7 7:7:7:0 yes 3200.0000 1000.0000 18 0 0 8 8:8:8:0 yes 3200.0000 1000.0000 19 0 0 9 9:9:9:0 yes 3200.0000 1000.0000 [root@backup ~]#
筛选关键信息:
[root@backup ~]# lscpu | grep -E "Model name|CPU\(s\)|Thread" CPU(s): 20 On-line CPU(s) list: 0-19 Thread(s) per core: 2 Model name: Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz NUMA node0 CPU(s): 0-19 [root@backup ~]#
2.2 free – 内存使用情况
显示系统的物理内存和交换空间的使用情况。
人类可读格式(GB/MB)(最常用):
[root@backup ~]# free -h total used free shared buff/cache available Mem: 31G 904M 29G 88M 549M 29G Swap: 47G 0B 47G [root@backup ~]#
2.3 lsblk – 块设备信息
列出所有可用的块设备(磁盘、分区)的信息,树状显示。
[root@backup ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 7.3T 0 disk ├─sda1 8:1 0 200M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot ├─sda3 8:3 0 7.2T 0 part /data ├─sda4 8:4 0 50G 0 part │ └─centos-root 253:0 0 50G 0 lvm / └─sda5 8:5 0 15.6G 0 part [SWAP] sr0 11:0 1 1024M 0 rom [root@backup ~]#
2.4 df – 磁盘空间使用
显示文件系统磁盘空间的使用情况,下面以人类可读格式,同时显示文件系统类型(最常用)查看磁盘空间使用情况:
[root@backup ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 16G 0 16G 0% /dev tmpfs tmpfs 16G 0 16G 0% /dev/shm tmpfs tmpfs 16G 83M 16G 1% /run tmpfs tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 50G 38G 13G 76% / /dev/sda2 xfs 1016M 156M 860M 16% /boot /dev/sda3 xfs 7.3T 51G 7.2T 1% /data /dev/sda1 vfat 200M 12M 189M 6% /boot/efi tmpfs tmpfs 3.2G 12K 3.2G 1% /run/user/42 tmpfs tmpfs 3.2G 0 3.2G 0% /run/user/0 [root@backup ~]#
2.5 lspci – PCI 设备信息
PCI 设备可能包括 USB 端口、显卡、网络适配器等。列出所有连接到 PCI 总线的设备信息直接用 lspci 命令输出:
[root@backup ~]# lspci 00:00.0 Host bridge: Intel Corporation Sky Lake-E DMI3 Registers (rev 07) 00:05.0 System peripheral: Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers (rev 07) 00:05.2 System peripheral: Intel Corporation Sky Lake-E RAS (rev 07) 00:05.4 PIC: Intel Corporation Sky Lake-E IOAPIC (rev 07) 00:08.0 System peripheral: Intel Corporation Sky Lake-E Ubox Registers (rev 07) 00:08.1 Performance counters: Intel Corporation Sky Lake-E Ubox Registers (rev 07) 00:08.2 System peripheral: Intel Corporation Sky Lake-E Ubox Registers (rev 07) 00:11.0 Unassigned class [ff00]: Intel Corporation C620 Series Chipset Family MROM 0 (rev 09) 00:11.5 SATA controller: Intel Corporation C620 Series Chipset Family SSATA Controller [AHCI mode] (rev 09) 00:14.0 USB controller: Intel Corporation C620 Series Chipset Family USB 3.0 xHCI Controller (rev 09) 00:14.2 Signal processing controller: Intel Corporation C620 Series Chipset Family Thermal Subsystem (rev 09) 00:16.0 Communication controller: Intel Corporation C620 Series Chipset Family MEI Controller #1 (rev 09) ……
要使用树状输出,加上-t 参数,如果要显示详细信息,包括驱动信息,加上-v 参数:
[root@backup ~]# lspci -t -+-[0000:b2]-+-00.0-[b3]----00.0 | +-05.0 | +-05.2 | +-05.4 | +-0e.0 | +-0e.1 | +-0f.0 | +-0f.1 | +-12.0 | +-12.1 | +-12.2 | +-15.0 | +-15.1 | +-16.0 ……
2.6 lsusb – USB 设备信息
列出所有连接到 USB 总线的设备信息。
[root@backup ~]# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 413c:2113 Dell Computer Corp. Bus 001 Device 006: ID 1604:10c0 Tascam Bus 001 Device 005: ID 1604:10c0 Tascam Bus 001 Device 004: ID 1604:10c0 Tascam Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub [root@backup ~]#
树状显示 USB 设备层次结构:
[root@backup ~]# lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M |__ Port 3: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 3: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 10: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 14: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 5, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 4: Dev 6, If 0, Class=Hub, Driver=hub/4p, 480M [root@backup ~]#
要显示详细信息,加上-v 参数。
2.7 dmidecode – 查看硬件组件信息
从 DMI 表中获取硬件信息,需要 root 权限,查看系统信息(制造商、产品名、序列号):
[root@backup ~]# dmidecode -t system # dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 3.2.0 present. Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Dell Inc. Product Name: PowerEdge T440 Version: Not Specified Serial Number: CK5**** UUID: 4c4c4544-004b-3510-804c-c3c04f595133 Wake-up Type: Power Switch SKU Number: SKU=07CB;ModelName=PowerEdge T440 Family: PowerEdge Handle 0x0C00, DMI type 12, 5 bytes System Configuration Options Option 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaults Option 2: PWRD_EN: Close to enable password Handle 0x2000, DMI type 32, 11 bytes System Boot Information Status: No errors detected [root@backup ~]#
另外查看内存信息(大小、类型、速度)、处理器信息、BIOS 信息、机箱信息分别用:
dmidecode -t memory # 内存信息(大小、类型、速度) dmidecode -t processor # 处理器信息 dmidecode -t bios # BIOS 信息 dmidecode -t chassis # 机箱信息
2.8 cat /proc/cpuinfo – CPU 详细信息
通过 proc 文件系统查看 CPU 的详细信息。
cat /proc/cpuinfo # 显示所有 CPU 核心的详细信息 grep -c ^processor /proc/cpuinfo # 统计 CPU 核心数 grep "model name" /proc/cpuinfo | head -1 # 显示 CPU 型号 grep "cpu MHz" /proc/cpuinfo | head -1 # 显示 CPU 频率
2.9 cat /proc/meminfo – 内存详细信息
通过 proc 文件系统查看内存的详细信息。
# 总内存大小 [root@backup ~]# grep -i memtotal /proc/meminfo MemTotal: 32523412 kB # 可用内存 [root@backup ~]# grep -i memavailable /proc/meminfo MemAvailable: 31096936 kB # 关键内存指标 [root@backup ~]# grep -E "MemTotal|MemFree|Buffers|Cached" /proc/meminfo MemTotal: 32523412 kB MemFree: 31030992 kB Buffers: 1248 kB Cached: 387556 kB SwapCached: 0 kB [root@backup ~]#
2.10 lsscsi – SCSI/SATA 设备列表工具
lsscsi 命令用于列出系统中所有的 SCSI 设备及其属性,也兼容 SATA、SAS 等设备,是管理存储设备的基础工具。
常用的选项功能如下:
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| 不加选项 | 列出所有 SCSI/SATA/SAS 设备及其属性 | 存储设备识别和基本属性查看 |
| -g | 显示 SCSI 通用设备信息 | 查看设备对应的通用设备文件(sg*设备节点) |
| -s | 显示设备容量信息 | 快速查看各存储设备的容量大小 |
| -d | 显示设备的主要节点信息 | 查看设备对应的块设备节点(如/dev/sda) |
| -H | 显示主机控制器信息 | 存储控制器识别和拓扑结构分析 |
| -c | 以经典格式显示设备列表 | 传统的设备显示格式,兼容旧版输出样式 |
示例如下:
[wyadmin@backup ~]$ lsscsi [5:0:0:0] disk ATA WDC WD10EZEX-00B 1A01 /dev/sda [N:0:1:1] disk INTEL SSDPEKNU512GZH__1 /dev/nvme0n1 [wyadmin@backup ~]$ lsscsi -g [5:0:0:0] disk ATA WDC WD10EZEX-00B 1A01 /dev/sda /dev/sg0 [N:0:1:1] disk INTEL SSDPEKNU512GZH__1 /dev/nvme0n1 - [wyadmin@backup ~]$ lsscsi -s [5:0:0:0] disk ATA WDC WD10EZEX-00B 1A01 /dev/sda 1.00TB [N:0:1:1] disk INTEL SSDPEKNU512GZH__1 /dev/nvme0n1 512GB [wyadmin@backup ~]$ lsscsi -d [5:0:0:0] disk ATA WDC WD10EZEX-00B 1A01 /dev/sda [8:0] [N:0:1:1] disk INTEL SSDPEKNU512GZH__1 /dev/nvme0n1 [259:0] [wyadmin@backup ~]$ lsscsi -H [0] ahci [1] ahci [2] ahci [3] ahci [4] ahci [5] ahci [6] ahci [7] ahci [N:0] /dev/nvme0 INTEL SSDPEKNU512GZH BTKA2122092Q512A HPS1 [wyadmin@backup ~]$ lsscsi -c Attached devices: Host: scsi5 Channel: 00 Target: 00 Lun: 00 Vendor: ATA Model: WDC WD10EZEX-00B Rev: 1A01 Type: Direct-Access ANSI SCSI revision: 05 [wyadmin@backup ~]$
2.11 ip / ifconfig – 网络接口信息
显示网络接口配置信息,ip 是新工具,ifconfig 是传统工具。
ip addr show # 显示所有网络接口和 IP 地址(推荐) ip link show # 显示网络接口链路状态 ifconfig # 传统网络配置查看工具 ifconfig -a # 显示所有接口,包括未激活的 ip route show # 显示路由表
适用于网络配置检查、IP 地址确认、网络故障排查。
2.12 fdisk – 磁盘分区表信息
显示和操作磁盘分区表的工具。可以进行分区表查看、磁盘容量验证、分区方案检查。
sudo fdisk -l # sudo fdisk -l /dev/sda # sudo parted -l # 另一种分区信息查看工具
列出所有磁盘的分区表:
[root@backup ~]# fdisk -l WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. Disk /dev/sda: 8000.5 GB, 8000450330624 bytes, 15625879552 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 262144 bytes / 524288 bytes Disk label type: gpt Disk identifier: 693EFE34-8F58-488C-99E8-0324053B5AB4 # Start End Size Type Name 1 2048 411647 200M EFI System EFI System Partition 2 411648 2508799 1G Microsoft basic 3 2508800 15488370687 7.2T Microsoft basic 4 15488370688 15593232383 50G Linux LVM 5 15593232384 15625869311 15.6G Linux swap Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 262144 bytes / 524288 bytes [root@backup ~]#
要列出指定磁盘的分区信息,可以后面直接指定,如:fdisk -l /dev/sda 。
2.13 hdparm – 硬盘参数和性能
获取硬盘参数并测试硬盘性能,适用于硬盘性能测试、硬盘参数查看、存储性能评估。
查看硬盘详细信息(型号、序列号、特性):
[wyadmin@backup ~]$ sudo hdparm -I /dev/sda [sudo] password for wyadmin: /dev/sda: ATA device, with non-removable media Model Number: WDC WD10EZEX-00BBHA0 Serial Number: WD-WCC6Y3UL5624 Firmware Revision: 01.01A01 Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0 Standards: Used: unknown (minor revision code 0x001f) Supported: 10 9 8 7 6 5 Likely used: 10 Configuration: Logical max current cylinders 16383 0 heads 16 0 sectors/track 63 0 --
测试硬盘读取速度:
[wyadmin@backup ~]$ sudo hdparm -tT /dev/sda /dev/sda: Timing cached reads: 36064 MB in 2.00 seconds = 18061.88 MB/sec Timing buffered disk reads: 566 MB in 3.01 seconds = 188.08 MB/sec [wyadmin@backup ~]$
要显示硬盘基本信息,直接输入:hdparm -i /dev/sda。
2.14 smartctl – 硬盘健康状态监控
smartctl 是用于监控硬盘 SMART(Self-Monitoring, Analysis and Reporting Technology)状态的专业工具。
smartctl 命令常用选项如下表所示:
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| -a | 显示硬盘所有 SMART 信息(最常用) | 全面硬盘健康检查,一次性获取所有重要信息 |
| -H | 检查硬盘健康状态(PASSED/FAILED) | 快速判断硬盘是否健康,日常监控 |
| -i | 显示硬盘基本信息(型号、序列号等) | 资产识别,确认硬盘型号和规格 |
| -A | 显示所有 SMART 属性值(温度、坏道等) | 详细性能监控,预测硬盘故障 |
| -l selftest | 显示自检历史记录 | 查看过往自检结果,分析历史问题 |
| -l error | 显示硬盘错误日志 | 故障排查,查看具体错误信息 |
| -t short | 执行快速自检(约 2 分钟) | 定期预防性检查,不影响正常使用 |
| -t long | 执行完整自检(数小时) | 深度健康检查,怀疑有潜在问题时 |
| –scan | 扫描系统可用硬盘设备 | 快速发现所有硬盘,确认设备路径 |
比如,查看硬盘所有 SMART 信息:
[wyadmin@backup ~]$ sudo smartctl -a /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-570.17.1.el9_6.x86_64] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Family: Western Digital Blue Device Model: WDC WD10EZEX-00BBHA0 Serial Number: WD-WCC6Y3UL5624 LU WWN Device Id: 5 0014ee 214f40002 Firmware Version: 01.01A01 User Capacity: 1,000,204,886,016 bytes [1.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 7200 rpm Form Factor: 3.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-3 T13/2161-D revision 3b SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Tue Jan 13 13:51:41 2026 CST SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION ===
查看硬盘健康状态:
[wyadmin@backup ~]$ sudo smartctl -H /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-570.17.1.el9_6.x86_64] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED [wyadmin@backup ~]$
2.15 lshw – 全面的硬件信息工具
lshw(Hardware Lister)是一个功能全面的 Linux 硬件检测工具,能够详细报告系统的硬件配置信息。它通过读取系统的多个信息源(如/proc 目录、DMI 表、PCI 总线、USB 总线等)来收集和显示几乎所有的硬件组件信息。
lshw 命令常用选项如下表:
| 选项 | 功能描述 | 使用场景 |
|---|---|---|
| -short | 以简短格式显示硬件摘要信息 | 快速查看硬件概览,日常系统检查 |
| -businfo | 输出总线信息(显示设备总线地址) | 设备驱动关联,硬件故障定位 |
| -class CLASS | 只显示指定类别的硬件 | 针对性查看特定硬件(如 memory、disk、network 等) |
| -sanitize | 隐藏敏感信息(序列号等) | 分享系统信息时保护隐私,技术支持安全分享 |
| -html | 以 HTML 格式输出硬件信息 | 生成可视化报告,文档归档 |
| -json | 以 JSON 格式输出硬件信息 | 自动化处理,脚本集成 |
| -xml | 以 XML 格式输出硬件信息 | 结构化数据交换,企业管理系统集成 |
| -numeric | 显示数字 ID(PCI、USB 等设备 ID) | 精确设备识别,驱动程序匹配 |
下面生成 HTML 格式的硬件报告:
[root@backup ~]# lshw -html > report.html [root@backup ~]# sz report.html [root@backup ~]#
最后将 report.html 文件导出查看:
通过本文介绍的 30 个常用命令,从 uname、hostname 等基础信息查询,到 lscpu、free、lsblk 等硬件状态监控,再到 smartctl、lshw 等专业诊断工具,这些命令形成了系统运维的多层次工具箱。它们不仅是故障排查的利器,更是系统优化、资源规划和日常监控的基础。掌握这些命令能帮助管理员快速定位问题、有效管理资源,并通过脚本化实现运维自动化,从而全面提升 Linux 系统的管理效率与稳定性。
以上关于Linux中收集【系统】和【硬件】信息的30个常用命令总结的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Linux中收集【系统】和【硬件】信息的30个常用命令总结
微信
支付宝