Linux lsusb 命令实用示例

LinuxLinuxBeginner
立即练习

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

介绍

在本实验中,你将学习如何在 Linux 中使用 lsusb 命令来监控和管理连接到系统的 USB 设备。lsusb 命令提供了有关 USB 设备的详细信息,包括总线号、设备号、供应商 ID 和产品 ID、设备类别以及其他相关细节。通过本实验,你将探索 lsusb 命令的基本用法,并学习如何识别特定的 USB 设备信息。本实验涵盖的内容将帮助你在 Linux 环境中有效地排查和管理 USB 设备。

Linux 命令速查表


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/SystemInformationandMonitoringGroup -.-> linux/uname("System Information Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/ls -.-> lab-422783{{"Linux lsusb 命令实用示例"}} linux/cat -.-> lab-422783{{"Linux lsusb 命令实用示例"}} linux/grep -.-> lab-422783{{"Linux lsusb 命令实用示例"}} linux/uname -.-> lab-422783{{"Linux lsusb 命令实用示例"}} linux/id -.-> lab-422783{{"Linux lsusb 命令实用示例"}} end

理解 lsusb 命令的作用

在这一步中,我们将了解 Linux 中 lsusb 命令的作用和基本用法。lsusb 命令是一个强大的工具,允许你列出连接到系统的 USB 设备的信息。

lsusb 命令提供了以下关于 USB 设备的关键信息:

  • USB 设备的总线号和设备号
  • USB 设备的供应商 ID 和产品 ID
  • 设备类别、子类别和协议信息
  • USB 设备的详细信息,例如制造商、产品名称和序列号

要运行 lsusb 命令,只需在终端中执行以下命令:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

示例输出:

输出显示系统连接了多个 USB 设备,包括 USB 2.0 和 USB 3.0 接口的根集线器。

在下一步中,我们将探索 lsusb 命令的更高级用法,以识别特定的 USB 设备信息。

探索 lsusb 命令的基本用法

在这一步中,我们将探索 lsusb 命令的基本用法,以获取连接到系统的 USB 设备的更详细信息。

首先,让我们使用带有 -v(详细)选项的 lsusb 命令来显示每个 USB 设备的更多详细信息:

$ lsusb -v
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[...]

现在,输出中包含了更多详细信息,例如设备类别、子类别、协议以及每个 USB 设备的其他信息。

你还可以使用 lsusb 命令通过供应商和产品 ID 搜索特定的 USB 设备。例如,要查找有关 USB 鼠标的信息,可以使用以下命令:

$ lsusb -d 046d:c077
Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0
      bDeviceProtocol         0
      bMaxPacketSize0        64
      idVendor           0x046d Logitech, Inc.
      idProduct          0xc077 M105 Optical Mouse
      bcdDevice            1.00
      iManufacturer           1 Logitech
      iProduct                2 M105 Optical Mouse
      iSerial                 0
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           34
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0
        bmAttributes         0x80
          (Bus Powered)
        MaxPower              100mA
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          bNumEndpoints           1
          bInterfaceClass         3 Human Interface Device
          bInterfaceSubClass      1 Boot Interface Subclass
          bInterfaceProtocol      2 Mouse
          iInterface              0
          HID Device Descriptor:
            bLength                 9
            bDescriptorType        33
            bcdHID               1.11
            bCountryCode            0 Not supported
            bNumDescriptors         1
            bDescriptorType        34 Report
            wDescriptorLength      71
          Report Descriptor: (length is 71)
            Item(Global): Usage Page, data= [ 0x01 ] 1 (Generic Desktop Controls)
            Item(Local): Usage, data= [ 0x02 ] 2 (Mouse)
            [...]

此命令显示了有关 USB 鼠标的详细信息,包括其供应商和产品 ID、设备类别以及报告描述符。

通过探索 lsusb 命令的基本用法,你可以有效地识别和排查 Linux 系统上与 USB 设备相关的问题。

使用 lsusb 识别 USB 设备信息

在这最后一步中,我们将学习如何使用 lsusb 命令来识别连接到系统的 USB 设备的详细信息。

首先,列出系统中连接的所有 USB 设备:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

此输出显示了每个 USB 设备的总线号、设备号、供应商 ID 和产品 ID。

要获取特定 USB 设备的更多详细信息,我们可以使用 lsusb -v 命令并提供供应商和产品 ID。例如,要获取供应商 ID 为 046d 且产品 ID 为 c077 的 USB 鼠标的信息,可以运行以下命令:

$ lsusb -v -d 046d:c077
Bus 001 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
    Device Descriptor:
      bLength                18
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0
      bDeviceProtocol         0
      bMaxPacketSize0        64
      idVendor           0x046d Logitech, Inc.
      idProduct          0xc077 M105 Optical Mouse
      bcdDevice            1.00
      iManufacturer           1 Logitech
      iProduct                2 M105 Optical Mouse
      iSerial                 0
      bNumConfigurations      1
      [...]

此输出提供了有关 USB 鼠标的详细信息,包括其设备描述符、配置描述符和 HID 报告描述符。

通过使用 lsusb 命令及其各种选项,你可以有效地识别和排查 Linux 系统上与 USB 设备相关的问题。

总结

在本实验中,我们学习了 Linux 中 lsusb 命令的作用和基本用法。lsusb 命令允许你列出连接到系统的 USB 设备的信息,包括总线号、设备号、供应商 ID、产品 ID、设备类别、子类别和协议。你可以使用带有 -v 选项的 lsusb 命令来显示每个 USB 设备的更多详细信息。此外,你还可以使用 lsusb 命令通过供应商和产品 ID 搜索特定的 USB 设备。

Linux 命令速查表