Linux lshw 命令实用示例

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将学习如何使用 Linux 的 lshw(List Hardware,列出硬件)命令来收集系统中硬件组件的详细信息。实验内容包括理解 lshw 命令的用途、使用该命令探索各种硬件细节,以及自定义输出以将信息保存到文件中。lshw 命令是一个强大的工具,可用于排查硬件相关问题、了解系统能力等。本实验提供了实际示例和逐步指导,帮助你在 Linux 环境中有效使用 lshw 命令。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/cat -.-> lab-422779{{"Linux lshw 命令实用示例"}} linux/sudo -.-> lab-422779{{"Linux lshw 命令实用示例"}} end

理解 lshw 命令及其用途

在这一步中,你将了解 lshw(List Hardware,列出硬件)命令及其用途。lshw 是 Linux 中一个强大的工具,能够提供系统中硬件组件的详细信息。

lshw 命令可用于收集各种硬件组件的信息,例如:

  • CPU
  • 内存
  • 主板
  • 磁盘驱动器
  • 网络接口
  • USB 设备
  • PCI 设备
  • 以及其他更多内容

让我们在终端中运行 lshw 命令来开始:

sudo lshw

示例输出:

*-core
     description: Motherboard
     product: Virtual Machine
     vendor: Google
     physical id: 0
     version: None
     serial: None
     slot: None
   *-firmware
        description: BIOS
        vendor: Google
        physical id: 0
        version: Google
        date: 04/01/2014
   *-cpu
        description: CPU
        product: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
        vendor: Intel Corp.
        physical id: cpu
        bus info: cpu@0
        version: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
        serial: None
        slot: LGA1151
        size: 3700MHz
        capacity: 4800MHz
        width: 64 bits
        clock: 100MHz
   *-memory
        description: System Memory
        physical id: 1
        slot: System board or motherboard
        size: 16GiB

如你所见,lshw 命令提供了系统中硬件组件的详细概览。这些信息对于排查硬件相关问题、了解系统能力等非常有用。

在下一步中,你将探索如何使用 lshw 命令来收集更具体的硬件信息。

使用 lshw 探索系统硬件信息

在这一步中,你将学习如何使用 lshw 命令来探索系统中更详细的硬件信息。

lshw 命令提供了多种选项,可以自定义输出并专注于特定的硬件组件。让我们从探索基本选项开始:

## 显示硬件信息的简明摘要
sudo lshw -short

## 显示所有硬件组件的详细信息
sudo lshw

## 显示特定硬件类别的信息,例如网络、磁盘或内存
sudo lshw -class network
sudo lshw -class disk
sudo lshw -class memory

sudo lshw -short 的示例输出:

H/W path       Device     Class          Description
========================================================
                         system         Virtual Machine
/0                       bus            Google
/0/1                     memory         16GiB
/0/100                   processor      Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
/0/100/2                 memory         16GiB
/0/100/2/0               memory         16GiB
/0/100/14                network        Ethernet interface
/0/100/1d               bus            USB controller
/0/100/1d/1             input          USB device
/0/100/1d/2             storage        USB device

lshw -short 命令提供了硬件组件的简明摘要,而没有任何选项的 lshw 命令则显示完整的详细信息。

你还可以使用 -class 选项来专注于特定的硬件组件,例如网络、磁盘或内存。当你需要快速收集特定硬件子系统的信息时,这非常有用。

在下一步中,你将学习如何自定义 lshw 的输出并将信息保存到文件中以便进一步分析。

自定义 lshw 输出并保存到文件

在这最后一步中,你将学习如何自定义 lshw 命令的输出,并将信息保存到文件中以便后续参考。

lshw 命令提供了多种选项来自定义输出,包括:

  • -short:显示硬件信息的简明摘要
  • -sanitize:从输出中移除敏感信息
  • -html:生成 HTML 格式的输出
  • -xml:生成 XML 格式的输出
  • -json:生成 JSON 格式的输出

让我们从将详细的硬件信息保存为 XML 格式的文件开始:

sudo lshw -xml > hardware_info.xml

这会将完整的硬件信息保存到当前目录下名为 hardware_info.xml 的 XML 文件中。

你也可以将输出保存为更简洁、人类可读的格式,例如 HTML:

sudo lshw -html > hardware_info.html

这将生成一个包含硬件信息的 HTML 文件,你可以在浏览器中打开它。

如果你只需要关注特定的硬件组件,可以使用 -class 选项来过滤输出:

## 将网络信息保存到文件
sudo lshw -class network -xml > network_info.xml

## 将磁盘信息保存到文件
sudo lshw -class disk -xml > disk_info.xml

这些命令将分别将网络和磁盘硬件信息保存到单独的 XML 文件中。

自定义的输出文件可以用于多种用途,例如:

  • 排查硬件相关问题
  • 记录系统的硬件配置
  • 与他人共享硬件信息
  • 自动化硬件清单和监控任务

在最后的验证步骤中,你将检查硬件信息是否已保存到预期的文件中。

总结

在本实验中,你首先了解了 lshw(List Hardware,列出硬件)命令及其在提供 Linux 系统硬件组件详细信息方面的用途。lshw 命令可以收集各种硬件组件的信息,例如 CPU、内存、主板、磁盘驱动器、网络接口等。随后,你探索了如何使用 lshw 命令自定义输出并专注于特定的硬件信息。这包括学习可用于过滤和格式化输出的各种选项,以及如何将硬件信息保存到文件中以便将来参考。

Linux 命令速查表