Linux系统查看USB设备信息lsusb命令使用教程
USB设备插上电脑没反应?别急着换线或重启系统。Linux系统有一个命令能快速告诉你内核是否识别到了设备——它比dmesg | grep usb更直接、定位更精准,这个命令就是lsusb。

简单来说,lsusb命令输出的是内核已经完成枚举、分配好总线号和设备号的USB设备快照。它不是“即插即显”,而是“枚举完成才显示”。所以刚插上没看到设备,不妨等待几秒再运行一次命令。
如何快速确认USB设备是否被Linux内核识别
最直接的方法就是运行不带任何参数的lsusb命令。如果输出列表里出现了类似下面的新行,说明设备已经被系统成功识别:
Bus 001 Device 005: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB
这行信息包含了总线号(001)、设备号(005)、厂商与产品ID(0951:1665)以及系统识别的设备描述。
- 有ID但描述显示“Unknown”? 这通常意味着硬件通信已经成功(你可以用
dmesg | tail -10看到类似usb 1-1: new high-speed USB device的记录),但系统的USB ID数据库(通常是/usr/share/hwdata/usb.ids)里没有收录这个厂商和产品ID,所以无法给出具体名称。 - 完全没有新行出现? 那可能需要排查物理连接问题,或者设备本身存在故障。
- 命令找不到? 在一些最小化安装的Linux发行版(如CentOS/RHEL 7)上,
lsusb命令可能默认未安装,你需要先运行yum install usbutils来安装这个USB工具集。
如何查看设备插在哪个USB口及运行速率
想知道设备具体插在哪个物理USB接口,或者它实际运行的USB协议版本和速率是多少?这时lsusb -t命令就派上用场了。它会以树状图形式展示USB总线和设备的层级关系,信息非常直观。
关键在于每条分支末尾的数字,例如12M、480M、5000M,这代表的是设备与主机实际协商出来的通信速率,而非设备标称的理论规格。
- 12M:对应USB 1.1全速模式。现在比较少见,一些老旧的键盘、鼠标可能运行在此速率。如果你的新设备只显示12M,那大概率是插在了一个USB 1.1的集线器下游,或者接口接触不良。
- 480M:对应USB 2.0高速模式。目前绝大多数U盘、摄像头、键鼠都工作在这个档位。如果你的设备标称是USB 3.0,但这里只显示480M,那就需要检查:是否插在了黑色的USB 2.0接口上?或者线缆有问题?
- 5000M:对应USB 3.0(即USB 3.1 Gen1)的超高速模式。这里有个细节需要注意:并非所有标着“USB 3.0”的线缆都能支持全速,劣质线缆很可能会降速到USB 2.0。
此外,在树状图中你还会看到Driver=xxx这样的信息:
Driver=usb-storage:表示这是一个大容量存储设备(如U盘),驱动已成功绑定。Driver=usbhid:表示这是一个人机接口设备(如键盘、鼠标)。Driver=(none):这表示内核没有为这个设备找到匹配的驱动。你需要检查对应的内核模块是否已加载(比如对于某些UAS协议的U盘,可能需要运行modprobe uas),或者设备是否需要特定的固件。
如何快速定位特定的U盘或摄像头设备
当USB接口上连接了多个设备时,在一长串lsusb输出里用肉眼查找特定设备效率很低。这时可以使用-d或-s参数进行精准过滤。
厂商ID和产品ID(例如上面的0951:1665)可以直接从lsusb命令的完整输出里获取,无需额外查阅文档。
- 按ID查找:
lsusb -d 0951:1665。如果设备存在,就只输出这一行信息;如果不存在,则没有任何输出(命令返回值为1)。 - 查看某条总线上的所有设备:
lsusb -s 002:(注意冒号不能省略)。这会列出总线002上的所有设备。 - 精确定位到总线上的某个设备号:
lsusb -s 001:003。这个组合在后续使用lsusb -D命令读取设备原始描述符时特别有用。 - 想同时查询多个设备ID?
lsusb命令本身不支持“或”逻辑。变通方法是结合grep命令,例如:lsusb | grep -E '0951:1665|046d:c52b'。当然,编写一个小脚本进行循环查询也是可行的方案。
为什么 lsusb -v 有时会卡住或提示权限拒绝
lsusb -v(详细模式)会尝试读取设备的全部描述符信息,包括配置、接口、端点等细节。但问题也出在这里:
- 权限问题:某些设备(尤其是带有安全芯片或自定义固件的)会拒绝非特权访问。普通用户运行
lsusb -v可能会看到部分字段为空,甚至报错(如libusb:error [udev_hotplug_event] ignoring udev event for unknown device)。加上sudo提权通常可以解决,但对于日常排查来说,基础信息已经足够,不一定需要详细描述符。 - 命令卡住:有些设备响应慢,或者描述符结构复杂,可能导致命令卡顿。这时可以用
lsusb -v 2>&1 | head -n 50只查看前50行输出,判断是否卡在某个特定设备上。如果确定是某个设备导致的,可以用-s参数跳过它再试。
如果真的需要获取详细的设备描述符信息(例如调试驱动兼容性问题),更推荐使用lsusb -D /dev/bus/usb/BBB/DDD命令(BBB代表总线号,DDD代表设备号)。这个命令会绕过libusb库,直接读取USB设备文件,结果更稳定可靠,但必须拥有root权限才能执行。
最后,有一个非常关键但又容易被忽略的点:lsusb显示正常,并不等同于设备功能正常。
举个例子,一个U盘在lsusb里可能完美显示为Mass Storage设备,驱动也已绑定,但当你用fdisk -l查看时,却找不到它的分区。问题可能出在存储协议(比如BOT协议与UAS协议的兼容性问题)或者内核模块(比如uas模块没有加载)上。lsusb只管“设备有没有被系统识别和连接上”,至于“设备能不能被上层应用正常使用”,那是另一回事了。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Win11桌面小组件添加与自定义设置教程
想在Windows 11桌面上快速瞥一眼天气、股票或者待办事项?桌面小组件(Widgets)功能就是为此而生的。它就像一个信息仪表盘,让你无需打开应用就能获取实时动态。不过,这个功能默认可能没打开,需要几步简单的设置才能让它“活”起来。整个过程可以概括为五个核心步骤:开启入口、打开面板、添加组件、调
Win10磁盘配额设置教程 如何限制用户磁盘使用空间
需启用NTFS磁盘配额功能限制用户写入空间,方法包括:一、磁盘属性界面配置;二、本地组策略强制统一限额(专业版及以上);三、fsutil命令行精细设置;四、磁盘管理工具调出配额选项卡;五、启用事件日志记录。 在Windows 10环境下管理共享存储空间时,一个常见且实际的需求是:如何有效限制特定用户
Windows 11 超级任务栏预览开启教程 提升窗口悬停显示速度
在 Windows 11 里,把鼠标移到任务栏图标上,等半天才弹出一个窗口预览,甚至干脆是空白的——这事儿是不是挺让人恼火的?这通常不是单一问题,而是系统预览机制、视觉效果策略、缓存状态乃至动画调度等多个环节共同作用的结果。所谓“超级任务栏预览”,其实就是通过一系列调整,让这个预览变得又快又清晰。下
Win11多时区时钟设置教程 添加显示多个地区时间
在全球化协作的今天,跨时区工作已是常态。无论是与海外团队开会,还是追踪国际项目进度,能在电脑桌面上快速瞥见不同地区的时间,无疑能极大提升效率。好消息是,Windows 11 本身就提供了多种灵活的原生方案来实现这一点,甚至还能通过第三方工具进行功能扩展。 简单来说,你可以通过五种主要方式来设置多时区
Windows 11 高性能图形加速设置教程 强制系统调用独立显卡方法
在Windows 11上玩游戏或者运行设计、渲染软件时,如果感觉帧率上不去、画面时不时卡一下,甚至拖动窗口都有拖影,这感觉确实挺恼人的。很多时候,问题的根源并不在于你的硬件性能不够,而是系统“偷懒”了——它可能错误地将图形处理任务分配给了性能较弱的集成显卡,甚至退回到了更慢的CPU渲染路径。 想让系
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

