教你在Linux中使用lsusb命令显示有关USB设备信息

系统 Linux
在Linux中我们使用lsusb命令列出USB设备及其属性,lsusb用于显示系统中的USB总线及其连接的设备信息。下面介绍如何安装并使用。

[[393589]]

 在Linux中我们使用lsusb命令列出USB设备及其属性,lsusb用于显示系统中的USB总线及其连接的设备信息。下面介绍如何安装并使用。

系统环境

系统:Centos7

安装usbutils

默认Centos7系统中没有lsusb命令,我们需要安装usbutils安装包,才能使用lsusb:

[root@localhost ~]# yum -y install usbutils 
  • 1.

列出usb设备信息

lsusb用于显示有关系统中的USB总线及其连接的设备的信息,下面运行lsusb: 

[root@localhost ~]# lsusb  
Bus 001 Device 010: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller  
Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub  
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse  
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

lsusb将显示系统内部连接的驱动程序和设备。

上面输出内容解释如下:

Bus 001 Device 055: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB

Bus 001: 表示第一个usb控制器,可以使用lspci|grep USB查看主机有几个usb控制器

Device 055: 表示系统分配给这个金士顿存储设备的设备号

ID: 表示usb设备的ID

Kingston Technology Digital DataTraveler SE9 64GB: 表示其制造商名称和设备名称

我们还看到,系统中还附有USB 2.0 root hub 驱动程序和USB 1.1 root hub 驱动程序。

使用树状类型显示usb信息

使用-t选项,以树状结构显示usb信息: 

[root@localhost ~]# lsusb -t  
/:  Bus 04.Port 1: Dev 1, Class=root_hubDriver=xhci_hcd/4p, 5000M  
/:  Bus 03.Port 1: Dev 1, Class=root_hubDriver=xhci_hcd/4p, 480M  
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M  
/:  Bus 02.Port 1: Dev 1, Class=root_hubDriver=uhci_hcd/2p, 12M  
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M  
    |__ Port 2: Dev 3, If 0, Class=HubDriver=hub/7p, 12M  
/:  Bus 01.Port 1: Dev 1, Class=root_hubDriver=ehci-pci/6p, 480M 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

数字12M、480M、5000M表示USB的传输速度。

  •  12M表示12Mbit / s,这是USB 1.0 / 1.1类型
  •  480M表示480Mbit / s,这是USB 2.0类型
  •  5000M表示5Gbit / s,这是USB3.0类型

Linux从/usr/share/hwdata/usb.ids'识别USB设备的详细信息。lsusb列出的vendor和device name都是从这个文件里面识别出来的。

如何列出USB详细信息

使用-v参数查看usb详细信息: 

[root@localhost ~]# lsusb -v | less  
Bus 001 Device 056: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB  
Device Descriptor:  
  bLength                18  
  bDescriptorType         1  
  bcdUSB               2.00  
  bDeviceClass            0 (Defined at Interface level)  
  bDeviceSubClass         0   
  bDeviceProtocol         0   
  bMaxPacketSize0        64  
  idVendor           0x0951 Kingston Technology  
  idProduct          0x1665 Digital DataTraveler SE9 64GB  
  bcdDevice            1.00  
  iManufacturer           1 Kingston  
  iProduct                2 DataTraveler 2.0  
  iSerial                 3 08606E6B6612FD50771C2A8B  
  bNumConfigurations      1  
  Configuration Descriptor:  
    bLength                 9  
    bDescriptorType         2  
    wTotalLength           32  
    bNumInterfaces          1  
    bConfigurationValue     1  
    iConfiguration          0   
    bmAttributes         0x80  
      (Bus Powered)  
    MaxPower              100mA  
    Interface Descriptor:  
      bLength                 9  
      bLength                 9  
      bDescriptorType         4  
      bInterfaceNumber        0  
      bAlternateSetting       0  
      bNumEndpoints           2  
      bInterfaceClass         8 Mass Storage  
      bInterfaceSubClass      6 SCSI  
      bInterfaceProtocol     80 Bulk-Only  
      iInterface              0   
      Endpoint Descriptor:  
        bLength                 7  
        bDescriptorType         5  
        bEndpointAddress     0x81  EP 1 IN  
        bmAttributes            2  
          Transfer Type            Bulk  
          Synch Type               None  
          Usage Type               Data  
        wMaxPacketSize     0x0200  1x 512 bytes  
        bInterval             255  
      Endpoint Descriptor:  
        bLength                 7  
        bDescriptorType         5  
        bEndpointAddress     0x02  EP 2 OUT  
        bmAttributes            2  
          Transfer Type            Bulk  
          Synch Type               None  
          Usage Type               Data  
        wMaxPacketSize     0x0200  1x 512 bytes  
        bInterval             255  
Device Qualifier (for other device speed):  
  bLength                10  
  bDescriptorType         6  
  bcdUSB               2.00  
  bDeviceClass            0 (Defined at Interface level)  
  bDeviceSubClass         0   
  bDeviceProtocol         0   
  bMaxPacketSize0        64  
  bNumConfigurations      1  
Device Status:     0x0000  
  (Bus Powered) 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.

查找连接了多少个USB设备

查找链接的设备数量,可以使用下面命令查找: 

[root@localhost ~]# find /dev/bus  
/dev/bus  
/dev/bus/usb  
/dev/bus/usb/002  
/dev/bus/usb/002/003  
/dev/bus/usb/002/002  
/dev/bus/usb/002/001  
/dev/bus/usb/001  
/dev/bus/usb/001/056  
/dev/bus/usb/001/010  
/dev/bus/usb/001/001 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

结合使用lsusb命令和-D参数,可以输出特定设备的详细信息。下面实例查看金士顿存储设备的详细信息:

[root@localhost ~]# lsusb -D /dev/bus/usb/001/056 
  • 1.

查找大容量存储设备

lsusb -v为我们提供了非常详细的信息,我们可以配合使用grep命令查找指定的信息,下面过滤出idVendor和Mass Storage,来获取大容量存储设备: 

[root@localhost ~]# lsusb -v |grep -Ei '(idVendor|Mass\ Storage)'  
  idVendor           0x0bda Realtek Semiconductor Corp.  
  idVendor           0x0951 Kingston Technology  
      bInterfaceClass         8 Mass Storage  
  idVendor           0x1d6b Linux Foundation  
  idVendor           0x0e0f VMware, Inc.  
  idVendor           0x0e0f VMware, Inc.  
  idVendor           0x1d6b Linux Foundation 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

可以看到只有idVendor是Kingston Technology的设备才是大容量存储设备。 

 

责任编辑:庞桂玉 来源: 良许Linux
相关推荐

2021-03-17 08:07:28

Linux Lsusb命令

2010-12-29 10:48:49

虚拟机

2023-08-12 15:05:26

Linuxcp 命令

2023-07-23 19:26:18

Linuxcat 命令

2023-07-04 16:36:03

Linuxcd 命令

2020-12-07 06:25:14

Linux Truncate 命令

2009-06-16 09:06:37

JavaMailJSP

2018-08-21 09:00:30

Linuxtop命令

2023-01-13 23:21:29

netcat命令Linux

2022-09-11 20:27:17

UbuntuLinux

2018-11-05 13:50:44

Linux命令tcpdump

2022-10-18 10:00:09

Linuxtcpdump命令

2013-07-02 10:25:03

LinuxUSB设备

2010-02-07 11:13:04

Android设备间

2013-05-14 10:13:06

WindowsLinux操作系统

2018-06-26 09:15:24

Linux命令history

2018-05-16 10:32:06

Linux命令find

2022-11-18 10:16:26

Linuxwc 命令

2022-10-25 09:07:28

Linuxxargs命令

2021-01-04 05:43:59

LinuxBasename命令
点赞
收藏

51CTO技术栈公众号