Я должен смочь получить просто точку монтирования карты памяти USB или путь. Действительно ли это - команда для этого? lsblk -r | grep usb
Я выполнил ту команду, и она возвращается со следующим. sda1 /media/usb0
Я просто хочу точку монтирования или путь к карте памяти.
Я придумал один для команды lsblk
. Это использует опции ТОЧКИ МОНТИРОВАНИЯ и ЗАМЕНЫ В ГОРЯЧЕМ РЕЖИМЕ, чтобы помочь определить. ЗАМЕНИТЕ В ГОРЯЧЕМ РЕЖИМЕ возвращает 1, если диск является съемным как Карта памяти. диски типа sr0 съемные / замена в горячем режиме, но это - CD/DVD-приводы. И я также останавливаю циклические устройства, так как они показывают, что они съемные / замена в горячем режиме также.
команда, которую я придумал, следующая:
lsblk -o NAME,HOTPLUG,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'
, Который может привести к следующим результатам, поскольку у меня есть Карта памяти в.
terrance@terrance-ubuntu:~$ lsblk -o NAME,HOTPLUG,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'
/media/terrance/E627-3C44
, Который является точной точкой монтирования моей включенной Карты памяти.
ПРИМЕЧАНИЕ: выглядит, как будто Ubuntu 14.04 не могла бы использовать те же опции для lsblk
, таким образом, можно использовать команду с RM
вместо HOTPLUG
:
lsblk -o NAME,RM,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'
Или , можно использовать эти TRAN
тип, я протестировал в 16,04, который является device transport type
. Дает другой вывод, который мог бы быть легче к сценарию вокруг.
lsblk -o NAME,TRAN,MOUNTPOINT
, Который производит вывод как это:
terrance@terrance-ubuntu:~$ lsblk -o NAME,TRAN,MOUNTPOINT
NAME TRAN MOUNTPOINT
loop1 /snap/canonical-livepatch/17
sdb usb
└─sdb1 /media/terrance/E627-3C44
loop4 /snap/core/1441
sr0 sata
loop2 /snap/core/1287
loop0 /snap/canonical-livepatch/21
sda sata
├─sda2
├─sda5 [SWAP]
└─sda1 /
loop3 /snap/core/1337
, Так как MOINTPOINT перечислен на следующей строке после usb, мы будем использовать grep -A 1
для захвата следующей строки и использования awk '{print $2}'
для печати второго столбца вывода на той строке:
terrance@terrance-ubuntu:~$ lsblk -o NAME,TRAN,MOUNTPOINT | grep -A 1 -w usb | grep -v usb | awk '{print $2}'
/media/terrance/E627-3C44
Hope это помогает!
Тип:
df # показывает точку монтирования для всех известных устройств
В Вашем случае, как который это будет что-то:
/media/sr0
/media/usb0
я НЕ ожидал бы, что это будет sda1, который обычно является загрузочным диском