Какова команда для терминала для нахождения информации о usb?

Я знаю, что могу найти название своего флеш-накопителя путем движения /media/user/nameOfFlashdrive в файловом менеджере. Однако Есть ли терминальная команда, где я могу ввести имя флеш-накопителя, и это скажет мне, где диск подключен такой как /dev/sdb1?

6
задан 24 February 2016 в 11:50

3 ответа

Вы можете просто использовать:

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

Объяснение

    [ 1120] lsblk перечислит все ваши подключенные устройства.
  • grep <flashdrive> перечислит только те строки, которые соответствуют имени вашего устройства, в виде:

    └─sdc1   8:33   0 698,6G  0 part /media/jacob/My Passport
    
  • awk -F'[─ ]' '{ print $2 }' разделит строку на два разделителя:

    (это второй символ из └─)

    и пробел.

    [ 1122]

Впоследствии мы можем легко получить нужный нам раздел.

3
ответ дан 23 November 2019 в 07:38

Есть несколько команд для этого на самом деле. Всегда можно отфильтровать выходные данные, используя инструменты обработки текста, обычно их выходные данные достаточно малы, чтобы прочитать их за один экран.

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
4
ответ дан 23 November 2019 в 07:38

... добавление к исчерпывающим ответам выше:

lsusb

lsusb - это утилита для отображения информации о шинах USB в системе и устройствах, подключенных к ним.

См. справочную страницу . !

1
ответ дан 23 November 2019 в 07:38

Другие вопросы по тегам:

Похожие вопросы: