How do you list the USB devices in Linux?
The question can have two meanings.
- How many USB ports are (recognized) on your system?
- How many USB devices/disks are assembled (plugged in) to the system?
Most of the time, people are interested in knowing which USB devices are connected to the system. This can be helpful when troubleshooting the USB devices.
The most reliable way is to use this command:
It shows the webcam, bluetooth, and ethernet ports along with the USB ports and the mounted USB drives.
However, understanding the output of lsusb isn’t easy, and you might not need to complicate things if you just want to see and access the mounted USB drives.
I’ll show you various tools and commands you can use to list USB devices connected to your system.
In the examples, unless otherwise stated, I have connected a 2 GB stick, a 1 TB external hard drive, an Android smartphone via MTP and a USB mouse.
Let me start with the easiest option for desktop users.
Check connected USB devices graphically
Your distribution file manager can be used to view USB storage devices connected to your computer. As you can see in the Nautilus (GNOME File Manager) screenshot below.
The connected devices are displayed in the sidebar (only USB storage devices are displayed here).
You can also use GUI applications like GNOME Disks or Gparted to view, format and partition the USB storage devices connected to your computer. GNOME Disks comes pre-installed with GNOME Desktop Environment by default in most distributions.
This app also works as a very good partition manager.
Enough of the graphical tools. Let’s discuss the commands you can use to list the USB devices.
Using the mount command to list the mounted USB devices
The mount command is used to mount partitions on Linux. You can also list USB storage devices using the same command.
Generally, USB storage is mounted in the media directory. So filtering the output of the mount command to media will give the desired result.
mount | grep media
Using the df command
The df command is a standard UNIX command used to determine the amount of disk space available. You can also use this command to list USB storage devices connected with the following command.
df -Th | grep media
Using the lsblk command
The lsblk command is used to list block devices in the terminal. Again, by filtering the output that contains the media keyword, you can get the desired result as shown in the screenshot below.
lsblk | grep media
If you are more curious, you can use those
blkid Command to know UUID, label, block size etc.
This command gives more output because your internal drives are also listed. So you need to take references from the above command to identify the device you want to know about.
fdisk, the good old command line partition manager, can also list the USB storage devices connected to your computer. The output of this command is also very long. Therefore, the connected devices are usually listed below as shown below.
sudo fdisk -l
You can list the USB storage devices by checking the /proc/mounts file. As you can see, it shows you the mount options used by the file system along with the mount point.
cat /proc/mounts | grep media
View all USB devices using the lsusb command
And we revisit the famous lsusb command.
Linux kernel developer Greg Kroah-Hartman created this handy usbutils utility. This provides us with two commands, ie
usb-devices for listing USB devices on Linux.
The lsusb command lists all information about the USB bus in the system.
As you can see, unlike other commands (which can only list USB storage devices), this command also shows the mouse and smartphone that I have connected.
The second command
usb-devices contains more details in comparison but does not list all devices as shown below.
Greg has also developed a small GTK application called Usbview. This application will show you the list of all USB devices connected to your computer.
The application is available in the official repositories of most Linux distributions. You can install
usbview Package easily via your distribution’s package manager.
Once installed, you can launch it from the application menu. You can select any of the listed devices to get details as below screenshot shown.
Most of the methods listed are limited to USB storage devices. There are only two methods that can also enumerate other peripherals; usbview and usbutils. I think we have another reason to be grateful to Linux kernel developer Greg for developing these handy tools.
I realize there are many other ways to list USB devices connected to your system. Your suggestions are welcome.