Linux设备状态全面查看指南:通过lshw、lscpu等命令检查硬件信息;使用top/htop监控实时性能;df/du分析磁盘空间;ifconfig/netstat管理网络状态,掌握这些工具,快速诊断系统健康度。
在 Linux 系统中,无论是进行日常维护、故障排查还是性能优化,清晰地了解当前设备的运行状态都是至关重要的,Linux 提供了极其丰富的命令行工具和虚拟文件系统,让您能够深入洞察硬件信息、系统资源使用情况、网络状态、存储设备以及系统日志等各个方面,本文将详细介绍这些实用方法,帮助您全面掌握 Linux 设备的状态。
查看硬件设备信息
-
列出 PCI 设备 (
lspci
):- 这是查看主板上的 PCI/PCIe 总线设备(如显卡、网卡、声卡、SATA 控制器、USB 控制器等)最常用的命令。
- 基本用法:
lspci
- 详细信息:
lspci -v
(更详细) 或lspci -vv
(非常详细,包括设备能力、驱动信息等)。 - 查看特定设备:
lspci | grep -i '关键词'
(grep -i network
,grep -i vga
)。 - 树状视图:
lspci -t
显示设备间的层次关系。
-
列出 USB 设备 (
lsusb
):- 用于查看连接到 USB 总线上的所有设备(U盘、鼠标、键盘、摄像头、外置网卡等)。
- 基本用法:
lsusb
- 详细信息:
lsusb -v
(显示非常详细的设备描述符信息)。 - 树状视图:
lsusb -t
显示 USB 设备树。
-
列出块设备 (
lsblk
):- 显示系统中所有的块设备(硬盘、分区、逻辑卷、光盘驱动器等)及其挂载点、大小等信息,结构清晰。
- 基本用法:
lsblk
- 详细信息:
lsblk -f
(显示文件系统类型、UUID、挂载点) 或lsblk -o +MODEL,SERIAL
(显示型号、序列号)。 - 树状视图:
lsblk
默认输出就是树状结构。
-
查看 CPU 信息 (
lscpu
):- 提供关于 CPU 架构的详细信息,包括型号、核心数、线程数、缓存大小、频率、支持的指令集等。
- 基本用法:
lscpu
-
查看内存信息 (
free
):- 显示系统物理内存 (RAM) 和交换空间 (Swap) 的总量、已用量、空闲量以及内核使用的缓冲区/缓存量。
- 基本用法:
free -h
(-h
选项以人类可读的单位如 GiB, MiB 显示)。 - 持续监控:
watch -n 1 free -h
(每 1 秒刷新一次)。
-
查看硬件详细信息 (
lshw
):- 一个功能强大的工具,可以生成系统硬件的详细报告,涵盖 CPU、内存、主板、总线、存储、网络等几乎所有方面,通常需要 root 权限。
- 基本用法:
sudo lshw
(输出非常详细但可能冗长)。 - 简洁摘要:
sudo lshw -short
- HTML/XML 报告:
sudo lshw -html > hardware.html
或sudo lshw -xml > hardware.xml
(方便保存和查看)。 - 查看特定类别:
sudo lshw -class network
(查看网络设备) 或sudo lshw -class disk
(查看磁盘)。
-
查看 DMI/SMBIOS 信息 (
dmidecode
):- 直接从 BIOS (DMI/SMBIOS 表) 中读取硬件信息,提供关于系统型号、序列号、BIOS 版本、主板信息、内存插槽详情等非常底层的硬件数据,需要 root 权限。
- 基本用法:
sudo dmidecode
(输出非常全面)。 - 查看特定类型:
sudo dmidecode -t system
(系统信息)sudo dmidecode -t baseboard
(主板信息)sudo dmidecode -t bios
(BIOS 信息)sudo dmidecode -t memory
(内存信息,包括每个插槽的详情)sudo dmidecode -t processor
(处理器信息)
监控系统资源使用状态
-
动态进程监控 (
top
/htop
):top
: 经典的实时系统监控工具,显示 CPU、内存使用率、运行中的进程列表及其资源消耗(按 CPU 或内存排序),按q
退出。htop
:top
的增强版,具有更友好的彩色界面、垂直/水平滚动、鼠标支持、更直观的进程树视图、更便捷的进程操作(如杀进程、调整优先级),通常需要安装 (sudo apt install htop
/sudo yum install htop
),强烈推荐使用。
-
虚拟内存统计 (
vmstat
):- 报告关于进程、内存、分页、块 I/O、陷阱(中断)和 CPU 活动的信息,对于诊断系统瓶颈(如内存不足、I/O 等待高)很有用。
- 基本用法:
vmstat
- 间隔刷新:
vmstat 2
(每 2 秒刷新一次) 或vmstat 2 5
(每 2 秒刷新一次,共刷新 5 次)。
-
I/O 统计 (
iostat
):- 监控系统输入/输出设备负载,报告 CPU 使用情况和所有块设备的 I/O 性能指标(每秒读写次数、传输量、等待时间、利用率等),通常属于
sysstat
包。 - 基本用法:
iostat
- 间隔刷新:
iostat 2
(每 2 秒刷新一次) 或iostat -dx 2
(-d
只显示磁盘,-x
显示扩展统计)。
- 监控系统输入/输出设备负载,报告 CPU 使用情况和所有块设备的 I/O 性能指标(每秒读写次数、传输量、等待时间、利用率等),通常属于
-
网络接口统计 (
ip -s link
/ifconfig
):ip -s link
: 显示所有网络接口的详细统计信息,包括接收/发送的数据包数、字节数、错误数、丢弃数等。ip
命令是现代 Linux 推荐使用的网络工具。ifconfig
: 传统的网络接口配置工具,也能显示统计信息 (ifconfig
),虽然仍在广泛使用,但ip
命令更强大且是未来的方向。
查看存储设备状态
-
磁盘空间使用 (
df
):- 报告文件系统磁盘空间的使用情况(总大小、已用、可用、使用百分比、挂载点)。
- 基本用法:
df -h
(-h
以人类可读单位显示)。 - 查看特定文件系统:
df -h /home
。
-
目录/文件空间使用 (
du
):- 估算文件或目录占用的磁盘空间。
- 基本用法:
du -sh
(-s
显示总计,-h
人类可读单位)。 - 查看目录下各子目录大小:
du -sh *
(在当前目录运行)。
-
磁盘健康状态 (
smartctl
):- 用于查询支持 S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) 的硬盘/SSD 的健康状态、属性和错误日志,需要 root 权限并安装
smartmontools
(sudo apt install smartmontools
/sudo yum install smartmontools
)。 - 查看基本信息:
sudo smartctl -i /dev/sda
(查看/dev/sda
的信息)。 - 查看健康状态:
sudo smartctl -H /dev/sda
(报告PASSED
或FAILED
)。 - 查看所有属性:
sudo smartctl -A /dev/sda
(显示关键的健康指标,如重映射扇区数、通电时间、温度等)。 - 运行短/长测试:
sudo smartctl -t short /dev/sda
/sudo smartctl -t long /dev/sda
(在后台运行自检)。
- 用于查询支持 S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) 的硬盘/SSD 的健康状态、属性和错误日志,需要 root 权限并安装
查看网络状态
-
网络接口配置与状态 (
ip addr
/ifconfig
):ip addr show
或ip a
: 显示所有网络接口的 IP 地址、MAC 地址、状态 (UP/DOWN) 等信息。ifconfig
: 同上,传统命令。
-
网络连接和监听端口 (
ss
/netstat
):ss
: 现代替代netstat
的工具,用于转储套接字统计信息,速度更快,信息更丰富。ss -tuln
: 查看所有 tCP 和 uDP listening (监听) 端口,以 numeric (数字) 形式显示地址和端口。ss -tunp
: 查看所有 tCP 和 uDP numeric 连接,并显示 process (进程) 信息。
netstat
: 传统工具,功能类似但已被标记为过时 (obsolete)。netstat -tuln
: 功能同ss -tuln
。
-
路由表 (
ip route
/route
):ip route show
或ip r
: 显示内核的路由表信息。route -n
: 传统命令 (-n
表示数字显示)。
-
网络接口流量监控 (
iftop
/nload
):iftop
: 实时显示网络接口的带宽使用情况,按主机对进行排序,需要安装 (sudo apt install iftop
/sudo yum install iftop
)。nload
: 实时监控网络流量和带宽使用,按设备显示总流入/流出速率,需要安装 (sudo apt install nload
/sudo yum install nload
)。
查看系统日志
系统日志是诊断问题的金矿,主要日志位于 /var/log/
目录下。
-
内核环形缓冲区 (
dmesg
):- 显示内核启动时和运行过程中产生的消息,包含硬件检测、驱动加载、设备错误等关键信息,对于排查硬件和驱动问题尤其重要。
- 基本用法:
dmesg
- 查看实时日志:
dmesg -w
(持续监视新消息)。 - 按时间过滤:
dmesg -T
(显示人类可读的时间戳) 然后结合grep
或less
搜索。 - 按级别过滤:
dmesg --level=err,warn
(只看错误和警告)。
-
系统日志 (
journalctl
):- 现代 Linux 发行版 (使用 systemd) 的集中式日志服务 (
journald
) 的查看工具,它聚合了内核日志、系统服务日志、应用程序日志等。 - 查看所有日志:
sudo journalctl
- 查看本次启动后的日志:
sudo journalctl -b
或sudo journalctl -b 0
(0
表示本次启动)。 - 按时间过滤:
sudo journalctl --since "2025-10-27 09:00:00" --until "2025-10-27 10:00:00"
sudo journalctl --since yesterday
sudo journalctl --since -1h
(过去一小时)
- 按服务/单元过滤:
sudo journalctl -u nginx.service
(查看 nginx 服务的日志)。 - 按优先级过滤:
sudo journalctl -p err..alert
(查看错误(err)及以上级别(emerg, alert, crit)的日志)。 - 跟踪最新日志:
sudo journalctl -f
(类似tail -f
,持续输出新日志)。 - 输出格式:
sudo journalctl -o json-pretty
(以易读的 JSON 格式输出,方便解析)。
- 现代 Linux 发行版 (使用 systemd) 的集中式日志服务 (
-
特定服务日志 (
/var/log/
):- 除了
journald
,一些服务仍会直接写入/var/log/
下的文件:/var/log/syslog
//var/log/messages
: 通用系统消息 (取决于发行版)。/var/log/auth.log
//var/log/secure
: 认证和安全相关消息 (登录、sudo 使用等)。/var/log/kern.log
: 内核日志 (有时是dmesg
的持久化存储)。/var/log/boot.log
: 系统启动日志。/var/log/apt/
//var/log/dnf/
//var/log/yum.log
: 包管理器日志。
- 使用
less
,tail -f
,grep
等工具查看这些文件。
- 除了
Linux 提供了极其强大的工具集来查看设备的方方面面,掌握 lspci
, lsusb
, lsblk
, lscpu
, free
, lshw
, dmidecode
等命令让您对硬件了如指掌,使用 top
/htop
, vmstat
, iostat
等工具可以实时监控系统资源使用和性能瓶颈。df
, du
, smartctl
帮助您管理存储健康。ip
, ss
, iftop
/nload
是网络状态诊断的利器。dmesg
和 journalctl
是深入系统日志、排查问题的关键。
根据您的具体需求(是检查新硬件是否识别、诊断性能问题、查看磁盘空间还是排查网络故障),选择合适的工具组合,熟练运用这些命令,将使您成为 Linux 系统管理的专家,请务必参考相关命令的 man
手册 (man
) 以获取更详细的使用说明和选项。
引用说明:
- 本文所涉及的命令行工具 (
lspci
,lsusb
,lsblk
,lscpu
,free
,lshw
,dmidecode
,top
,htop
,vmstat
,iostat
,df
,du
,smartctl
,ip
,ss
,netstat
,iftop
,nload
,dmesg
,journalctl
) 的功能描述和用法均基于其标准的 Linux Manual Pages (man
pages),这些man
pages 是 Linux 系统最权威、最详细的文档来源。 - S.M.A.R.T. 技术的描述参考了
smartmontools
项目的官方文档 (https://www.smartmontools.org/)。 - 系统日志路径 (
/var/log/
) 和systemd journald
的架构描述基于 Linux 文件系统层次标准 (FHS) 和systemd
项目官方文档 (https://www.freedesktop.org/wiki/Software/systemd/)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9491.html