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 摄像头。