详解Linux lsusb命令:显示 USB 设备信息

  • Post category:Linux

Linux lsusb 命令详解

lsusb 命令用于显示连接到系统上的 USB 设备列表信息,可以用来检查和管理 USB 设备。本文将为大家详细介绍 Linux lsusb 命令的作用和使用方法。

lsusb 命令的语法

lsusb 命令的语法如下:

lsusb [选项]

常用选项如下:

  • -v 显示更详细的信息。

  • -s 显示特定的 USB 设备,后接“总线号:设备号”的格式。

  • -t 显示 USB 设备树形结构。

lsusb 命令的使用方法

1. 显示 USB 设备列表

使用 lsusb 命令可以列出当前系统上连接的 USB 设备列表:

lsusb

执行该命令后,会列出当前系统上所有连接的 USB 设备的相关信息。例如:

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 045e:071d Microsoft Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 046d:c539 Logitech, Inc. 
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

其中,每行的信息依次为:总线号、设备号、制造商 ID、产品 ID、制造商名字和产品名字。

2. 显示特定的 USB 设备

可以使用 lsusb -s 命令来显示特定的 USB 设备,使用“总线号:设备号”的格式指定。例如,显示总线号为 001,设备号为 002 的 USB 设备:

lsusb -s 001:002

执行该命令后,会显示该 USB 设备的详细信息。例如:

Bus 001 Device 002: ID 045e:071d Microsoft Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x045e Microsoft Corp.
  idProduct          0x071d 
  bcdDevice           23.02
  iManufacturer           1 Microsoft
  iProduct                2 Microsoft® 2.4GHz Transceiver v9.0
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          4 Microsoft 2.4GHz Transceiver v9.0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
...

可以看到,该 USB 设备的制造商 ID 为 045e,产品 ID 为 071d。

3. 显示 USB 设备树形结构

可以使用 lsusb -t 命令来显示 USB 设备树形结构,该命令会以树形结构的形式输出 USB 设备的连接情况。例如:

/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/7p, 480M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M

上面的输出结果展示了 USB 设备的树形结构,每一级都是以“总线号.Port 号”作为标识,最后一级则是具体的 USB 设备信息。

结束语

lsusb 命令是一个很实用的 Linux 命令,其可以让你方便的检查和管理 USB 设备。希望本文能够帮助大家更好的了解和使用该命令。

示例 1

假设我们现在有一个 USB 麦克风,想要查看其详细信息,由于我们并不知道该设备的总线号和设备号,我们可以直接使用 lsusb 命令显示所有 USB 设备的信息,如下:

lsusb

然后找到对应的设备信息,假设其信息如下:

Bus 001 Device 002: ID 1234:5678 My Device

该设备总线号为 001,设备号为 002。接下来,我们可以使用以下命令显示该设备的详细信息:

lsusb -s 001:002

示例 2

假设我们现在需要查看系统中某种特定类型的 USB 设备的信息,可以使用 -v 选项显示更详细的信息。例如,查看 USB 摄像头的信息:

lsusb -v | grep Camera

执行该命令后,会列出所有包含“Camera”关键字的 USB 设备信息,可以根据其中的制造商 ID 和产品 ID 来判断是否为 USB 摄像头。