上一篇                     
               
			  linux下如何看usb设备管理器
- Linux
- 2025-07-26
- 3929
 Linux下,可使用
 
 
lsusb、
 dmesg | grep usb、
 usb-devices或
 lshw等命令查看USB设备信息
Linux系统中,查看USB设备管理器(即管理USB设备的工具和命令)有多种方法,以下是详细的操作指南及常用命令解析:
基础命令行工具
-  lsusb- 功能:列出所有已连接的USB设备信息,包括厂商ID(Vendor ID)、产品ID(Product ID)、设备描述等。
- 用法:直接输入 lsusb可快速获取概览;若需更详细输出,添加参数-v(如lsusb -v),显示设备的完整配置参数和接口详情,执行后可能看到类似如下结果:Bus 002 Device 007: ID 046d:c526 Logitech, Inc. Nano Receiver
- 适用场景:快速排查设备是否被识别,或确认设备的基本属性。
 
-  dmesg | grep usb- 功能:通过内核日志追踪USB设备的插拔事件、驱动加载过程及错误信息。
- 用法:运行 dmesg | grep usb过滤出与USB相关的日志条目,插入新设备时会记录类似:[ 123.456789] usb 1-1.2: new high-speed USB device number 4 using xhci_hcd
- 作用:帮助诊断设备初始化失败的原因,或验证系统是否正确响应了设备的接入/移除操作。
 
-  usb-devices(需安装usbutils包) - 安装:先执行 sudo apt-get install usbutils。
- 功能:以结构化格式展示每个USB设备的树状层级关系、供应商名称、产品型号、电源配置等高级信息。 T: Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=1.5 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=046d ProdID=c31c Rev=30.00 S: Manufacturer=Logitech S: Product=Keyboard K120
- 优势:比lsusb提供更全面的技术细节,适合深度调试。
 
- 安装:先执行 
-  udevadm info- 用法:指定设备路径查询其属性,如 udevadm info -a -n /dev/sdb(将/dev/sdb替换为实际设备节点)。
- 输出示例:包含设备的物理位置(DEVPATH)、驱动模块(DRIVER)、序列号等元数据: E: ID_VENDOR=Logitech E: ID_MODEL=USB_Receiver E: ID_SERIAL=Logitech_USB_Receiver_1234567890
- 用途:用于分析udev规则匹配情况或解决权限问题。
 
- 用法:指定设备路径查询其属性,如 
-  lsblk与blkid- lsblk:列出所有块设备(含USB存储设备),可通过- lsblk -o NAME,SIZE,TYPE,MOUNTPOINT | grep -i usb筛选USB介质;
- blkid:显示文件系统标签(如UUID、LABEL),辅助挂载操作,U盘插入后可通过此命令找到其挂载点。
 
-  lshw - 用法:使用 sudo lshw查看硬件全景信息,结合管道过滤USB相关组件:sudo lshw -short | grep usb 
- 效果:展示USB控制器芯片型号及下游设备拓扑结构,适用于硬件兼容性分析。
 
- 用法:使用 
可视化工具与实时监控
-  usbview(基于GTK图形界面)- 安装:在Ubuntu/Debian中运行 sudo apt install usbview。
- 特点:以树形图表直观呈现设备连接状态、带宽利用率和传输模式,支持交互式浏览。
 
- 安装:在Ubuntu/Debian中运行 
-  udevadm monitor- 功能:实时监听设备热插拔事件,动态显示新增/移除的USB设备信息,启动后保持终端打开,当插入U盘时会自动推送通知。
 
特殊场景处理
| 需求 | 推荐命令 | 说明 | 
|---|---|---|
| 查看特定设备详情 | udevadm info --query=all --name=... | 根据实际设备路径精确定位 | 
| 过滤输入类设备 | lsinput | 专门用于键盘、鼠标等HID设备 | 
| 检查驱动加载情况 | lsmod | grep usb | 确认内核是否加载了对应的USB驱动模块 | 
| 分析复合设备配置 | cat /proc/bus/usb/devices | 读取原始JSON格式的设备描述符,调试复杂协议栈 | 
常见问题与解决方案
FAQs
Q1:为什么某些USB设备未被识别?
A:可能原因包括:端口供电不足、驱动程序缺失、udev规则冲突,建议依次执行以下步骤:①检查dmesg日志是否有错误提示;②尝试更换USB端口或线缆;③手动加载驱动(如通过modprobe);④确认设备是否支持热插拔(部分工业级设备需重启才能生效)。

Q2:如何永久分配固定设备节点?
A:可通过创建自定义的udev规则实现,编辑 /etc/udev/rules.d/99-custom.rules 文件,添加如下内容:
ACTION==add, KERNEL=sd, SYMLINK+="mydisk" ```保存后重新触发事件(如插拔设备),系统将自动创建符号链接 `/dev/mydisk`指向该USB存储设备。 上述方法覆盖了从基础检测到高级管理的全链路操作,用户可根据实际需求选择合适的工具组合,对于复杂场景(如多分区加密U盘),建议
 
  
			