文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载lsusb是 Linux 系统中最常用的 USB 设备查询命令用于显示本机 USB 主控制器Bus、设备编号Device以及设备 IDVendor:Product等核心信息。本文以 Linux Command 开源项目README中收录的 lsusb 手册 为骨架完整继承其语法、选项与实例解读并结合同仓库的 lspci、systool、dmesg 等命令文档与 sysfs 内核信息深入讲解如何读懂 lsusb 输出、如何通过/sys文件系统验证设备属性以及如何在实际排查和 USB 驱动开发中高效使用它。读完本文你将能够熟练使用 lsusb 完成设备枚举、按总线/厂商过滤、拓扑查看并建立起「命令输出 ↔ sysfs 节点 ↔ 内核设备模型」的完整知识链路。命令简介一个认识 USB 设备的命令行助手lsusb 命令用于显示本机的 USB 设备列表以及 USB 设备的详细信息。它属于usbutils工具包是学习 USB 驱动开发、认识 USB 设备的得力助手。如果你的开发板或产品中缺少该命令可以自行移植一个放入文件系统如使用 buildroot、busybox 集成 usbutils即可获得设备枚举与诊断能力。lsusb 的核心价值在于它以极简的文本输出呈现 USB 总线拓扑中每一个被内核枚举到的设备配合 sysfs 中的devnum、idVendor、idProduct等属性能够让开发者快速定位「设备插在哪个主控制器下、内核给它分配了什么设备号、厂商与产品 ID 是什么」等一系列驱动开发与硬件调试中的关键问题。安装 lsusb不同发行版的 usbutils 获取方式lsusb 由usbutils包提供各主流发行版均收录。在 Alpine Linux 上可以结合 apk 手册 中的示例直接安装apk add util-linux pciutils usbutils coreutils binutils findutils grep在 Debian/Ubuntu 系使用apt-get参考 apt-get 手册sudo apt-get install usbutils在 CentOS/RHEL 系使用yum参考 yum 手册sudo yum install usbutils安装完成后直接执行lsusb即可看到本机 USB 设备列表。语法与选项五个核心参数全面解析lsusb 的基本语法为lsusb(选项)原文档归纳了五个核心选项下面逐项展开说明选项作用实战要点-v显示 USB 设备的详细信息输出设备描述符Device Descriptor、配置描述符、接口描述符等完整信息调试驱动时的第一选择-s总线:设备号仅显示指定总线和或设备号的设备格式为Bus:Device如lsusb -s 002:006只显示 002 号总线上设备号为 006 的设备注意冒号为半角-d厂商:产品仅显示指定厂商和产品编号的设备格式为Vendor:Product如lsusb -d 15d9:0a37用于快速过滤特定型号设备-t以树状结构显示 USB 设备的层次直观展示「主控制器 → 根 Hub → 设备/子 Hub」的层级关系-V显示命令的版本信息确认 usbutils 工具版本便于排查工具自身问题其中-s与-d支持「只写一半」的过滤方式例如lsusb -s 002可只按总线号过滤lsusb -d 15d9:可只按厂商号过滤lsusb -d :0a37则只按产品号过滤这在设备众多时非常实用。实战实例插入 USB 鼠标后 lsusb 的输出解读原文档给出了最典型的实战场景——插入 USB 鼠标后执行 lsusb输出内容如下Bus 005 Device 001: id 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 006: ID 15d9:0a37 Bus 002 Device 001: ID 0000:0000逐字段拆解如下Bus 005USB 主控制器编号Bus 005表示第五个 USB 主控制器Host Controller。机器上总共有 5 个 USB 主控制器可以通过命令lspci | grep USB查看详见 lspci 手册。在 lspci.md 的实例输出中可以看到典型的 USB 控制器条目00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1这些 UHCI/EHCI 控制器分别对应 lsusb 输出中的一个 Bus多个控制器共同构成机器上的 USB 总线集合。Device 006内核分配的设备号devnumDevice 006表示系统给 USB 鼠标分配的设备号devnum。同时也可以看到该鼠标是插入到了第二个 USB 主控制器Bus 002上。该设备号并非凭空而来而是内核 USB 设备模型中的真实属性对应 sysfs 节点006 usb_device.devnum /sys/devices/pci0000:00/0000:00:1d.1/usb2/2-2/devnum可以看到设备号 006 与devnum文件一一对应说明 lsusb 输出的正是内核设备模型的状态而非独立维护的另一套数据。ID 15d9:0a37厂商 ID 与产品 IDID 15d9:0a37表示 USB 设备的 ID。这个 ID 由芯片制造商设置可以唯一标识该设备。冒号前的15d9是厂商 IDVendor ID冒号后的0a37是产品 IDProduct ID分别对应 USB 设备描述符Device Descriptor中的idVendor与idProduct字段15d9 usb_device_descriptor.idVendor 0a37 usb_device_descriptor.idProduct /sys/devices/pci0000:00/0000:00:1d.1/usb2/2-2/idVendor通过lsusb -d 15d9:0a37即可只过滤出这一款设备lsusb -v则可以展开看到该描述符的完整字段。区分根 Hub 与真实设备观察上述输出中的最后两行Bus 002 Device 006: ID 15d9:0a37 Bus 002 Device 001: ID 0000:0000表示 002 号 USB 主控制器上接入了两个设备一个是 USB 根 Hub ——Device 001一个是 USB 鼠标 ——Device 006这是 USB 拓扑的典型形态每个主控制器下必然挂载一个根 Hub设备号通常为 001ID 为0000:0000真实设备通过端口连接到 Hub 之下。理解这一点有助于在输出列表中快速辨认「控制器自带节点」与「真实外设」。使用 -t 查看设备层次拓扑lsusb -t以树状结构展示设备层次与上述「根 Hub → 设备」的结构一一对应/: Bus 02.Port 1: Dev 1, Classroot_hub, Driverehci_hcd/2p, 480M |__ Port 1: Dev 6, If 0, ClassHuman Interface Device, Driverusbhid, 1.5M从该输出可以清晰看到Bus 02下的Dev 1是root_hub其Port 1上的Dev 6是鼠标接口类为 HID由usbhid驱动接管通信速率为 1.5M低速设备。这正是原文档「002 号主控制器上接入根 Hub 与鼠标两个设备」结论的树状呈现。深挖 sysfslsusb 输出背后的内核设备模型lsusb 的输出可以直接与/sys文件系统互相印证。原文档给出的 sysfs 路径\/sys/devices/pci0000:00/0000:00:1d.1/usb2/2-2/ 完整反映了设备在 PCI → USB 总线 → 端口链路上的位置pci0000:00/0000:00:1d.1USB 控制器在 PCI 总线上的地址与 lspci 手册 中00:1d.1 USB controller对应usb2该控制器对应的 USB 总线号Bus 0022-2设备在总线上的端口路径其中第一个2是总线号第二个2是 Hub 端口号devnum、idVendor、idProduct设备属性文件内容与 lsusb 输出的 Device 号、ID 完全一致。如果想要更系统地浏览内核设备模型中的 USB 子系统可以参考 systool 手册systool -b usb可查看 USB 总线上的设备systool -c usb_device可查看 usb_device 类属性其输出中列出的usb总线与usb_device、usb_endpoint、usb_host等类正是 sysfs 中 USB 设备模型的全貌。同时ehci_hcd、uhci_hcd、usbcore、usbhid等模块也出现在 systool 的模块列表中印证了 USB 主机控制器驱动与设备驱动在内核中的注册关系。组合排查lsusb 与 lspci、dmesg 的协同工作流在实际嵌入式开发与服务器运维中lsusb 常与其他命令组合形成排查链路确认控制器存在lspci | grep USB见 lspci.md确认机器上 USB 控制器的数量与型号与 lsusb 输出的 Bus 数量对照确认内核枚举日志dmesg | grep -i usb查看设备插拔时的内核日志dmesg.md 中展示了通过dmesg | grep -E过滤多关键字的用法判断设备是否被正确识别确认设备属性lsusb/lsusb -t查看枚举结果cat /sys/.../idVendor验证底层属性。典型场景举例嵌入式开发板上插入 USB 外设后无反应可依次执行lsusb设备是否出现、lspci | grep USB控制器是否枚举、dmesg | grep usb内核是否报错三步即可定位问题发生在硬件、控制器驱动还是设备驱动层面。对 USB 驱动开发的学习价值正如原文档所强调lsusb 是学习 USB 驱动开发、认识 USB 设备的助手。对于驱动开发者而言它提供了三重价值设备枚举速查lsusb一行输出即可确认设备是否被内核枚举成功是驱动调试的第一道门槛描述符信息入口lsusb -v展开的完整描述符厂商/产品 ID、端点、接口类与内核 sysfs 中的idVendor、idProduct、devnum一一对应帮助理解 USB 设备描述符结构与设备模型的对应关系Bus/Device/ID 三元组与 sysfs 路径的映射关系帮助开发者理解 Linux USB 设备模型Host Controller → Root Hub → 设备的组织方式。需要注意的是lsusb 显示的是「内核已枚举到的设备」如果设备硬件损坏、线缆异常或控制器驱动未加载设备可能不会出现在列表中此时应结合dmesg与lspci进一步排查。总结lsusb 是 Linux 下查看 USB 设备列表与详细信息的基础命令语法简单但信息密度高。掌握其-v、-s、-d、-t、-V五个选项读懂 Bus/Device/ID 三个字段的含义并建立「lsusb 输出 ↔ sysfs 属性 ↔ lspci/dmesg 日志」的联动排查思路无论是日常运维、嵌入式开发板调试还是 USB 驱动开发都能事半功倍。本仓库收录的 lsusb 手册 与 lspci、systool、dmesg 等文档互为补充构成了一套完整的 Linux 设备管理命令速查体系可通过本仓库生成的 Web 站点见 README.md随时检索使用。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐Linux lspci 命令详解查看 PCI 总线与硬件设备信息的实战指南Linux lspci 命令详解查看 PCI 总线与硬件设备信息的实战指南 本文是 linux command 开源仓库中 lspci 命令手册 https:文档教程Velero ark backup describe 命令完全指南备份详情查看与故障排查实战Velero ark backup describe 命令完全指南备份详情查看与故障排查实战 导读 本文档是 Velero当时名为 Heptio Arkv云原生灾备存储后端VeleroArkdescribe restores 命令详解Restore 状态查看与排查实战指南VeleroArk describe restores 命令详解Restore 状态查看与排查实战指南 导读 本文以 Velero曾用名 Ark的 a云原生灾备存储后端上一篇LTX-2 管线选型指南从快速决策树到 12 条推理管线的能力对比与实战选型下一篇autojump开源项目治理透明度报告定期公开内容创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考