Я знаю, что могу найти название своего флеш-накопителя путем движения /media/user/nameOfFlashdrive
в файловом менеджере. Однако Есть ли терминальная команда, где я могу ввести имя флеш-накопителя, и это скажет мне, где диск подключен такой как /dev/sdb1
?
Вы можете просто использовать:
lsblk | grep <flashdrive>
Это выведет в моей ситуации, запустив
$ lsblk | grep Passport
└─sdb1 8:17 0 1,8T 0 part /media/jacob/My Passport1
└─sdc1 8:33 0 698,6G 0 part /media/jacob/My Passport
, где вы можете увидеть как устройство, так и точку монтирования. Как видите, у меня есть два USB-накопителя с именем My Passport
$ lsblk | grep Passport | awk '{ print $1 }'
└─sdb1
└─sdc1
То же самое, но с более точным выводом:
$ lsblk | grep Passport | awk -F'[─ ]' '{ print $2 }'
sdb1
sdc1
[ 1127] Или, как предлагает @kos (спасибо!), Еще проще, используя lsblk
с опцией -l
(которая пропустит └─
на выходе перед устройствами):
$ lsblk -l | grep Passport | awk '{ print $1 }'
sdb1
sdc1
Или (также как предложено @kos), вы могли бы обойтись без команды grep
, только используя lsblk
и awk
:
$ lsblk -l | awk '/Passport/{ print $1 }'
sdb1
sdc1
lsblk
перечислит все ваши подключенные устройства. grep <flashdrive>
перечислит только те строки, которые соответствуют имени вашего устройства, в виде:
└─sdc1 8:33 0 698,6G 0 part /media/jacob/My Passport
awk -F'[─ ]' '{ print $2 }'
разделит строку на два разделителя:
─
(это второй символ из └─)
и пробел.
[ 1122]Впоследствии мы можем легко получить нужный нам раздел.
Есть несколько команд для этого на самом деле. Всегда можно отфильтровать выходные данные, используя инструменты обработки текста, обычно их выходные данные достаточно малы, чтобы прочитать их за один экран.
blkid
Эта аккуратная команда сама по себе, как следует из названия, показывает информацию о блочных устройствах. С помощью -L
вы можете искать определенное устройство с меткой (именем).
$ blkid -L DTSE9
/dev/sdb1
df
Эта аккуратная команда является частью пакета coreutils
, показывает размер блока и использование «файлов устройств». Он показывает только информацию о тех устройствах, которые смонтированы (другими словами, связаны с папкой где-то). Например,
/dev/sdb5 115247656 84753976 24616332 78% /media/WINDOWS
Сообщает мне, что мой раздел Windows на втором жестком диске связан с разделом /media/WINDOWS
.
udisksctl
$ udisksctl status
MODEL REVISION SERIAL DEVICE
--------------------------------------------------------------------------
Radeon R7 1.01 A22MD061520000172 sda
TSSTcorp CDDVDW SU-208GB TF01 S16T6YEFB00NKH sr0
Очень удобная команда, которая выводит список моделей и файлов устройств, с которыми связан диск. В приведенном выше примере мой твердотельный накопитель Radeon R7 связан с устройством /dev/sda
.
Если мы углубимся в детали, udisksctl info -b /dev/sda
перечислит много дополнительной информации, включая размер и символические ссылки.
Если мы хотим сойти с ума, udisksctl dump
будет производить подробный вывод на всех дисках.
parted
и fdisk
Обе команды представляют собой дисковые утилиты, используемые для разметки, изменения размера и многих других забавных вещей. Оба, однако, требуют использования sudo
. Оба выводят большую подробную информацию
find
Это более практический подход. Все устройства имеют специальный файл устройства под Linux (помните философию Unix, которая гласит, что все является файлом? Это применимо здесь лучше всего). Зная, что есть файлы /dev/disk/by-label
, мы можем искать в этом каталоге, или мы можем просто искать /dev/disk
в целом. Определенно инструмент, который оценят более продвинутые пользователи
$ find -L /dev/disk/by-label/ -name "DTSE9" -exec readlink -e {} \;
/dev/sdb1
lsblk
Уже охвачен Джейкобом.
mount
$ mount | grep "DTSE9"
/dev/sdb1 on /media/xieerqi/DTSE9 type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
Список всех смонтированных файловых систем. Может быть отфильтровано с помощью grep
для поиска конкретной файловой системы. Это аналогично выполнению grep 'DISKNAME OR UUID' /proc/mounts
lshw
Эта команда предоставляет информацию обо всем оборудовании в системе. В частности, вы можете просмотреть информацию о дисках, используя lshw -c disk
для всего устройства или lshw -c volume
для разделов, и вы должны увидеть выходные данные со строками примерно так:
logical name: /dev/sdc1
logical name: /media/xieerqi/BA02-AF80
... добавление к исчерпывающим ответам выше:
lsusb
lsusb
- это утилита для отображения информации о шинах USB в системе и устройствах, подключенных к ним.
См. справочную страницу . !