- Listing all USB drives in Linux
- 5 Answers 5
- Как посмотреть USB устройства Linux
- Список подключенных устройств Linux
- Как посмотреть USB устройства Linux
- Выводы
- How to List USB Devices Connected to Your Linux System
- Check connected USB devices graphically
- Using the mount command to list the mounted USB devices
- Using df command
- Using lsblk command
- Using fdisk
- Inspecting /proc/mounts
- Display all the USB devices with lsusb command
- Conclusion
Listing all USB drives in Linux
How can I get a list of removable drives (plugged into USB) in Linux? I’m fine with using KDE, GNOME or other DE libraries if it would make things easier.
@Viswanathan: «Linux» isn’t Ubuntu (which is, of course, why having a separate askubuntu site at all is stupid, but I digress)
This is not an Ubuntu specific question. I was looking for a programming library solution, but I can use something like Python os module to list the devices with Ignacio Vazquez-Abrams solution anyway.
I’m am also writing a Python script that needs to find a particular USB drive. This seems like a perfectly reasonable place to ask and receive help on this matter.
5 Answers 5
I think a nice idea is to use udev interface from python.
Small example (of course in your case you have adjust some filtering):
In [1]: import pyudev In [2]: pyudev.Context() In [3]: ctx = pyudev.Context() In [4]: list(ctx.list_devices(subsystem='usb')) Out[4]: [Device(u'/sys/devices/pci0000:00/0000:00:1a.0/usb2'), Device(u'/sys/devices/pci0000:00/0000:00:1a.0/usb2/2-0:1.0'), Device(u'/sys/devices/pci0000:00/0000:00:1a.0/usb2/2-2'),
It is a good way in most cases as new systems use udev.
After all this time the question got unlocked again…
In the end I used UDisks via the D‐Bus interface like shown here.
Sometime back i got this small script ( it’s not mine ) but it surely helped me alot putting just for reference
#!/usr/bin/python import sys import usb.core # find USB devices dev = usb.core.find(find_all=True) # loop through devices, printing vendor and product ids in decimal and hex for cfg in dev: try: #print dir(cfg) sys.stdout.write('Decimal VendorID=' + str(cfg.idVendor) + ' & ProductID=' + str(cfg.bDeviceClass) + ' ' + str(cfg.product) + ' ' + str(cfg.bDeviceSubClass)+ ' ' + str(cfg.manufacturer)+'\n') except: print
Как посмотреть USB устройства Linux
При подключении USB флешки или любого другого USB устройства к компьютеру создается набор файлов, с помощью которых вы можете получить к ним доступ. Когда вы работаете в файловом менеджере все достаточно просто, но как только дело доходит до консоли все становится намного труднее.
Каждому новичку важно уметь идентифицировать подключенные устройства, будь то usb флешки, SD карты или жесткие диски чтобы не записать что-либо не туда или не отформатировать не тот диск. В этой статье мы рассмотрим несколько способов как посмотреть usb устройства Linux, подключенные к компьютеру.
Список подключенных устройств Linux
В операционной системе Linux используется особенная философия управления. Все объекты, в том числе и устройства считаются файлами. При подключении какого-либо устройства к системе для него создается файл в каталоге /dev/.
Обычно, после того, как вы подключили любую USB флешку или другой накопитель к системе с установленным окружением рабочего стола, устройство автоматически монтируется в папку /media/имя_пользователя/метка_устройства/, а затем вы можете получить доступ к файлам из устройства в этой папке. Тем не менее, бывают ситуации, когда вам нужно вручную монтировать USB и тогда такой вариант не поможет.
Файлы всех устройств находятся в каталоге /dev/. Здесь вы можете найти файлы sda, hda, которые представляют из себя жесткий диск, а также файлы sda1 или hda1, которые позволяют получить доступ к разделам диска. Мы уже подробно рассматривали это все в статье работа с устройствами Linux. Вы можете посмотреть список всех устройств в каталоге /dev/ с помощью команды:
Теперь осталось понять какие из этих файлов устройств принадлежат USB устройствам и каким устройствам именно.
Как посмотреть USB устройства Linux
Чтобы узнать более подробную информацию о каждом устройстве, подключенном к вашей системе и посмотреть список устройств linux, можно использовать команду df. Она используется для просмотра свободного места на диске:
По общему размеру и занятому пространству вы можете определить какое из устройств является вашей флешкой, но этот способ посмотреть устройства linux не очень удобен и работает он только с уже смонтированной флешкой, есть еще несколько, дающих более точную информацию.
Команда lsblk отображает список всех блочных устройств, подключенных к вашему компьютеру. Утилита отображает не только их размер, но и тип (диск/раздел) а также старший и младший номер устройства. Тут уже немного проще найти флешку, мы видим два диска, и если первый с размером 698 гигабайт это жесткий диск, то второй, — точно флешка:
Есть еще один способ, это утилита fdisk. Она позволяет посмотреть таблицу разделов на всех блочных устройствах, подключенных к компьютеру. Но утилиту нужно выполнять от имени суперпользователя:
Также, узнать о подключенном USB устройстве можно посмотрев очередь сообщений ядра dmesg. Здесь хранится информация обо всех операциях, которые происходят в ядре. В том числе здесь будет отображено имя флешки, только что подключенной к компьютеру. Для просмотра сообщений ядра выполните:
Чтобы посмотреть какие из sd устройств относятся к USB используйте такую команду:
Попытаться идентифицировать свою флешку в системе через терминал можно с помощью утилиты blkid. Она выводит UUID идентификаторы всех подключенных устройств, а также файловую систему:
Выводы
В этой статье мы рассмотрели как посмотреть usb устройства linux, а также как узнать имя своей usb флешки в системе. Вы можете использовать любую из команд, которая вам понравилась, или же сразу несколько. Но теперь вы знаете как точно определить имя файла своей флешки.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
How to List USB Devices Connected to Your Linux System
Mostly, people are interested in knowing what USB devices are connected to the system. This may help troubleshoot 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 mounted USB drives.
But understanding the output of lsusb is not easy and you may not need to complicate things when you just want to see and access the mounted USB drives.
I will show you various tools and commands you can use to list USB devices connected to your system.
I have connected a 2GB pen-drive, 1TB external HDD, Android smartphone via MTP and USB mouse in the examples unless stated otherwise.
Let me start with the simplest of the options 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 screenshot of Nautilus (GNOME File Manager) below.
The connected devices are shown in the sidebar (Only USB Storage devices are shown 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 is preinstalled in most distributions using GNOME Desktop Environment by default.
This app also works as a very good partition manager too.
Enough of the Graphical tools. Let us discuss the commands you can use for listing the USB devices.
Using the mount command to list the mounted USB devices
The mount command is used for mounting partitions in Linux. You can also list USB storage devices using the same command.
Generally, USB storage is mounted in the media directory. Thus, filtering the output of mount command on media will give you the desired result.
Using df command
df command is a standard UNIX command used to know the amount of available disk space. You can also use this command to list USB storage devices connected using the command below.
Using lsblk command
The lsblk command is used to list block devices in the terminal. So, here also by filtering the output containing media keyword, you can get the desired result as shown in the screenshot below.
If you are more curious, you can use the blkid command to know the UUID, Label, Block size etc.
This command gives more output as your internal drives are also listed. So, you have to take references from the above command to identify the device you wish to know about.
Using fdisk
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. So, usually, the connected devices get listed at the bottom as shown below.
Inspecting /proc/mounts
By inspecting the /proc/mounts file, you can list the USB Storage devices. As you can notice, it shows you the mount options being used by filesystem along with the mount point.
cat /proc/mounts | grep media
Display all the USB devices with lsusb command
And we revisit the famed lsusb command.
Linux kernel developer Greg Kroah-Hartman developed this handy usbutils utility. This provides us with two commands i.e. lsusb and usb-devices to list USB devices in Linux.
The lsusb command lists all the information about the USB bus in the system.
As you can see this command also shows the Mouse and Smartphone I have connected, unlike other commands (which are capable of listing only USB storage devices).
The second command usb-devices gives more details as compared but fails to list all devices, as shown below.
Greg has also developed a small GTK application called Usbview. This application shows you the list of all the USB devices connected to your computer.
The application is available in the official repositories of most Linux distributions. You can install usbview package using your distribution’s package manager easily.
Once installed, you can launch it from the application menu. You can select any of the listed devices to get details, as shown in the screenshot below.
Conclusion
Most of the methods listed are limited to USB storage devices. There are only two methods which can list other peripherals also; usbview and usbutils. I guess we have one more reason to be grateful to the Linux Kernel developer Greg for developing these handy tools.
I am aware that there are many more ways to list USB devices connected to your system. Your suggestions are welcome.