lshw(List Hardware)是 Linux 系统下的一款命令行工具,用于全面检测并显示详细的硬件信息。它能够报告 CPU、内存、主板、存储设备、显卡、网络设备等几乎所有硬件组件的详细信息,适用于系统管理、故障排查和硬件兼容性检查等场景。
1.主要功能
1)全面的硬件信息报告
CPU:型号、架构、核心数、缓存、频率等。
内存(RAM):容量、插槽信息、速度、厂商等。
主板:制造商、型号、BIOS 信息等。
存储设备:硬盘(HDD/SSD)、分区、RAID 配置、USB 存储等。
显卡(GPU):型号、显存、驱动信息等。
网络设备:网卡型号、MAC 地址、IP 配置等。
PCI/USB 设备:连接的扩展卡、USB 外设等。
2)多种输出格式
支持 文本(默认)、HTML、XML、JSON 等格式,便于解析或生成报告。
lshw -html > hardware.html # 生成 HTML 报告 lshw -json # 输出 JSON 格式
3)权限管理
普通用户运行时,仅显示部分信息。
使用
sudo lshw
可获取完整硬件细节(如序列号、固件版本等)。
4)硬件问题排查
检测未识别的硬件、驱动兼容性问题。
查看设备的 PCI/USB 连接状态,排查硬件冲突。
5)支持多种 Linux 发行版
适用于 Ubuntu、Debian、CentOS、Fedora、Arch Linux 等主流发行版。
2.基本语法
lshw [-format] [options]
这里格式和选项的含义如下:
[-format]
:用于指定 HTML、XML、JSON、排序(显示硬件路径)和总线信息(显示总线信息)之间的输出格式。[options]
:用于调整lshw
命令的默认行为。
如果不加任何格式和选项,它将输出所有硬件信息,这不是使用 lshw
的最佳方式,下面分别介绍具体使用细节。
3.使用方法
3.1显示网络信息
这里就要先指定类别,用 -C
或者 -class
,注意前面的-C
是大写的。
lshw -class network
可以看到,有两个用于联网目的的硬件设备:wireless 和 ethernet,包括其逻辑名称和供应商。
3.2获取内存详细信息
通过下面的命令,可以获得各个 RAM 插槽和缓存的详细信息,包括 RAM 大小、时钟速度等信息。
lshw -C memory
可以看到,有 2 个 RAM 插槽,第1个插槽配备 8GB RAM,时钟频率为 3200MHz,第2个插槽为空。
3.3获取存储信息
lshw -class storage
上面命令 lshw -class storage
只显示了 SATA 控制器(存储控制器) 的信息,但没有列出具体的存储设备(如硬盘、SSD)及其容量。下面接着介绍。
3.4查看存储设备及容量
1)查看所有物理磁盘(硬盘/SSD)
lshw -class disk
[root@backup ~]# lshw -class disk
*-cdrom
description: DVD-RAM writer
product: DVD+-RW GU90N
vendor: HL-DT-ST
physical id: 0.0.0
bus info: scsi@14:0.0.0
logical name: /dev/cdrom
logical name: /dev/sr0
version: A3C3
capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
configuration: ansiversion=5 status=nodisc
*-disk
description: SCSI Disk
product: PERC H750 Adp
vendor: DELL
physical id: 3.6f.0
bus info: scsi@0:3.111.0
logical name: /dev/sda
version: 5.16
serial: 004fbaede054fdc12a0010d72980e04e
size: 7451GiB (8TB) # 这里显示容量为8TB
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=693efe34-8f58-488c-99e8-0324053b5ab4 logicalsectorsize=512 sectorsize=512
[root@backup ~]#
如上图,显示硬盘容量为8TB。
2)仅查看磁盘容量(精简输出)
lshw -class disk -short
[root@backup ~]# lshw -class disk -short
H/W path Device Class Description
==============================================================
/0/100/17/0.0.0 /dev/cdrom disk DVD+-RW GU90N
/0/101/0/3.6f.0 /dev/sda disk 8TB PERC H750 Adp
[root@backup ~]#
3.5获取系统信息
系统信息包括系统架构、主板名称和制造商以及即插即用端口的数量等详细信息。
lshw -C system
如下显示:
[root@backup ~]# lshw -C system
backup
description: Desktop Computer
product: Vostro 3881 (09B0)
vendor: Dell Inc.
serial: D3LNPM3
width: 64 bits
capabilities: smbios-3.2.0 dmi-3.2.0 smp vsyscall32
configuration: boot=normal chassis=desktop family=Vostro sku=09B0 uuid=44454C4C-3300-104C-804E-C4C04F504D33
*-pnp00:00
product: PnP device PNP0c02
physical id: 1
capabilities: pnp
configuration: driver=system
*-pnp00:01
product: PnP device PNP0c02
physical id: 2
capabilities: pnp
configuration: driver=system
*-pnp00:02
product: PnP device PNP0c02
physical id: 3
capabilities: pnp
configuration: driver=system
*-pnp00:03
product: PnP device PNP0b00
physical id: 4
capabilities: pnp
configuration: driver=rtc_cmos
*-pnp00:05
product: PnP device PNP0c02
physical id: 6
capabilities: pnp
configuration: driver=system
*-pnp00:06
product: PnP device PNP0c02
physical id: 7
capabilities: pnp
configuration: driver=system
*-pnp00:07
product: PnP device PNP0c02
physical id: 8
capabilities: pnp
configuration: driver=system
*-pnp00:08
product: PnP device PNP0c02
physical id: a
capabilities: pnp
configuration: driver=system
[root@backup ~]#
可以看到一块带有 8 个即插即用插槽的 Dell 主板!
3.6获取声卡信息
有时需要验证声卡的制造商,在这种情况下,可以使用以下命令:
lshw -C multimedia
3.7获取显示控制器信息
如果想知道哪个 GPU 用于获取显示输出,可以通过下面命令查看:
lshw -C display
显示结果如下:
[root@backup ~]# lshw -C display
*-display UNCLAIMED
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 03
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list
configuration: latency=0
resources: memory:d0000000-d0ffffff memory:c0000000-cfffffff ioport:4000(size=64)
[root@backup ~]#
当我使用集成显卡时,它显示的是 Intel 产品。
3.8显示 PCIE 网桥信息
lshw -C bridge
[root@backup ~]# lshw -C bridge
*-pci
description: Host bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: 03
width: 32 bits
clock: 33MHz
*-pci:0
description: PCI bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1c
bus info: pci@0000:00:1c.0
version: f0
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:122 ioport:3000(size=4096) memory:d1100000-d11fffff
*-pci:1
description: PCI bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1c.7
bus info: pci@0000:00:1c.7
version: f0
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:123 memory:d1000000-d10fffff
*-isa
description: ISA bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1f
bus info: pci@0000:00:1f.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: isa bus_master
configuration: latency=0
[root@backup ~]#
3.9 显示总线信息
计算机中的总线只不过是一个通信系统,用于在系统本身内部传输数据。
要想列出系统中的总线,那么可以通过下面命令实现:
lshw -C bus
它列出了包括 USB 在内的所有总线。
3.10显示 CPU 信息
通过下面命令,可以提供有关 CPU 类型、制造商、时钟速度、内核数量、线程数和更多相关内容的详细信息。
lshw -C CPU
4.命令总结
下面以表格的形式列出关于lshw
命令的选项及含义:
选项 | 描述 |
---|---|
network |
获取网络硬件设备的详细信息。 |
memory |
显示系统中 RAM 的详细信息。 |
storage |
打印存储驱动器的详细信息。 |
system |
获取主板和即插即用插槽的详细信息。 |
multimedia |
系统声卡的详细信息。 |
display |
了解有关显示输出的驱动因素的更多信息。 |
bridge |
显示有关 PCIe 桥的信息。 |
bus |
它将列出公交车及其详细信息。 |
CPU |
列出处理器详细信息 |
5.对比其他工具
工具 | 特点 | 适用场景 |
---|---|---|
lshw |
全面、详细 ,支持多种输出格式 |
完整硬件报告、系统管理 |
lspci |
仅 PCI/PCIe 设备信息 |
显卡、扩展卡检测 |
lsusb |
仅 USB 设备信息 |
外设检测(如键盘、U盘) |
dmidecode |
BIOS/UEFI 和主板信息 |
服务器硬件审计 |
inxi |
用户友好,适合终端用户 |
快速系统概览 |