你如何列出 Linux 中的 USB 设备?
这个问题可以有两种含义。
- 你的系统上有(检测到)多少个 USB 端口?
- 系统安装(插入)了多少个 USB 设备/磁盘?
大多数情况下,人们有兴趣了解哪些 USB 设备连接到系统。这可能有助于对 USB 设备进行故障排除。
最可靠的方法是使用这个命令:
lsusb
它显示了网络摄像头、蓝牙和以太网端口以及 USB 端口和挂载的 USB 驱动器。
但是理解 lsusb
的输出并不容易,当你只想查看和访问已挂载的 USB 驱动器时,你可能不需要那么复杂。
我将向你展示可用于列出连接到系统的 USB 设备的各种工具和命令。
除非另有说明,在我的例子中连接了一个 2GB 的 U 盘、1TB 的外置硬盘、通过 MTP 连接的 Android 智能手机,以及 USB 鼠标。
让我从桌面用户最简单的选项开始。
以图形方式检查连接的 USB 设备
你的发行版的文件管理器可以用来查看连接到你的计算机的 USB 存储设备。正如你在下面的 Nautilus(GNOME 文件管理器)的截图中看到的那样。
连接的设备显示在边栏中(此处仅显示 USB 存储设备)。
你还可以使用 GNOME “磁盘Disks” 或 Gparted 等 GUI 应用来查看、格式化和分区连接到计算机的 USB 存储设备。默认情况下,大多数使用 GNOME 桌面环境的发行版都预装了 GNOME “磁盘”。
这个应用也可以用作一个非常好的 分区管理器。
图形工具足够了。让我们讨论可用于列出 USB 设备的命令。
使用 mount 命令列出挂载的 USB 设备
mount
命令用于挂载 Linux 中的分区。你还可以使用相同的命令列出 USB 存储设备。
通常,USB 存储挂载在 media
目录中。因此,在媒体上过滤mount
命令的输出将为你提供所需的结果。
mount | grep media
使用 df 命令
df 命令是一个标准的 UNIX 命令,用于了解可用磁盘空间的大小。你还可以使用此命令列出已连接的 USB 存储设备。
df -Th | grep media
使用 lsblk 命令
lsblk
命令用于列出终端中的块设备。因此,这里也通过过滤包含media
关键字的输出,你可以获得所需的结果,如下面的截图所示。
lsblk | grep media
如果你想知道,也可以使用 blkid
命令了解 UUID、标签、块大小等。
此命令提供更多输出,因为你的内部驱动器也被列出。因此,你必须参考上述命令来识别你希望了解的设备。
sudo blkid
使用 fdisk
fdisk
是一款不错的老式命令行分区管理器,它还可以列出连接到你计算机的 USB 存储设备。这个命令的输出也很长。因此,通常连接的设备会列在底部,如下所示:
sudo fdisk -l
检查 /proc/mounts
通过检查 /proc/mounts
文件,你可以列出 USB 存储设备。如你所见,它向你显示了文件系统使用的挂载选项以及挂载点。
cat /proc/mounts | grep media
使用 lsusb 命令显示所有 USB 设备
我们重新审视有名的 lsusb
命令。
Linux 内核开发人员 Greg Kroah-Hartman开发了这个方便的usbutils程序。这为我们提供了两个命令,即lsusb
和usb-devices
来列出 Linux 中的 USB 设备。
lsusb
命令列出系统中有关 USB 总线的所有信息。
lsusb
如你所见,此命令还显示了我已连接的鼠标和智能手机,这与其他命令(只能列出 USB 存储设备)不同。
第二个命令 usb-devices
提供了更多详细信息,但未能列出所有设备,如下所示。
usb-devices
Greg 还开发了一个名为 usbview的小型 GTK 应用。此应用向你显示连接到计算机的所有 USB 设备的列表。
该应用可在大多数 Linux 发行版的官方仓库中找到。你可以使用发行版的 包管理器轻松安装usbview
包。
安装后,你可以从应用菜单启动它。你可以选择任何列出的设备以获取详细信息,如下面的截图所示。
总结
这里列出的大多数方法仅限于 USB 存储设备。只有两种方法可以列出其他外围设备; usbview 和 usbutils。 我想我们应该感谢 Linux 内核开发人员 Greg 开发了这些方便的工具。
我知道还有很多方法可以列出连接到系统的 USB 设备。 欢迎你提出建议。
via:
作者:Anuj Sharma选题:lkxed译者:geekpi校对:wxy
本文由 LCTT原创编译,Linux中国荣誉推出