lsusb
是一个用于显示系统已连接的 USB 设备信息的命令行工具。它可以帮助用户了解当前系统上所有 USB 设备的状态和详细信息,包括设备的制造商、产品 ID、版本等。该工具常用于诊断和调试与 USB 设备相关的各种问题。
常见用法
列出所有 USB 设备
使用 lsusb
可以列出当前系统上所有连接的 USB 设备的基本信息:
lsusb
列出设备的详细信息
使用 -v
或 --verbose
参数可以显示每个 USB 设备的更详细信息:
lsusb -v
指定显示特定总线或设备的信息
通过 -d
参数可以指定显示特定 USB 设备的详细信息。格式为 vendor_id:product_id
:
lsusb -d 046d:0825
上述命令将显示厂商 ID 为 046d
,产品 ID 为 0825
的 USB 设备信息。
列出所有总线信息
使用 -t
参数可以列出所有 USB 总线的信息,这有助于查看设备是如何连接到各个 USB 总线上的:
lsusb -t
指定显示指定总线上的设备信息
使用 -b
参数可以指定显示某个特定总线上的设备信息:
lsusb -b 003
上述命令将显示位于总线编号为 003
上的所有 USB 设备信息。
示例
查看所有 USB 设备信息
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
查看 Logitech 无线接收器的详细信息
$ lsusb -d 046d:c52b Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 ...
查看所有 USB 总线信息
$ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 5000M |__ Port 1: Dev 1, If 0, Class=root_hub, Driver=xhci_hcd/1p, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
高级用法
使用 grep
过滤输出
结合 grep
命令可以进一步过滤和处理 lsusb
输出的内容:
lsusb | grep "Logitech"
使用脚本批量处理
可以使用脚本来批量处理 lsusb
命令的输出,例如自动检测并记录所有 USB 设备的详细信息:
#!/bin/bash for dev in $(lsusb -d 046d: -v | grep 'Device Descriptor' -B 10); do echo "$dev" >> log.txt done
上述脚本会搜索所有 Logitech 品牌的 USB 设备,并将其详细信息追加到 log.txt
文件中。
注意事项
- 使用
-v
参数时,请注意输出内容可能较多,特别是在系统连接了大量 USB 设备的情况下。 - 如果需要频繁地查看 USB 设备信息,建议使用脚本或自动化工具来简化操作流程。
- 在某些情况下,可能需要管理员权限才能获取到某些设备的详细信息。
总结
lsusb
命令是一个非常实用的工具,适用于各种场景下对 USB 设备进行管理和维护。通过结合不同的参数和工具,用户可以更加灵活地获取和处理 USB 设备的相关信息。