Qual é o comando para localizar o ponto de montagem ou o caminho do memory stick USB?

1

Eu preciso conseguir recuperar apenas o ponto de montagem ou caminho do cartão de memória USB. É este o comando para isso? lsblk -r | grep usb I executou esse comando e ele retorna com o seguinte. sda1 /media/usb0 Eu só quero o ponto de montagem ou o caminho para o cartão de memória.

    
por ThN 15.03.2017 / 16:27

2 respostas

4

Eu criei um para o comando lsblk . Ele usa as opções de MOUNTPOINT e HOTPLUG para ajudar na identificação. HOTPLUG retorna um 1 se a unidade for removível como uma unidade USB. As unidades do tipo sr0 são removíveis / hotplug, mas são unidades de CD / DVD. E eu também paro os dispositivos de loop, já que eles mostram que são removíveis / hotplug também.

O comando que eu criei é o seguinte:

lsblk -o NAME,HOTPLUG,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'

O que pode produzir os seguintes resultados, como eu tenho uma unidade USB.

terrance@terrance-ubuntu:~$ lsblk -o NAME,HOTPLUG,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'

/media/terrance/E627-3C44

Qual é o ponto de montagem exato da minha unidade USB conectada.

NOTA: Parece que o Ubuntu 14.04 pode não usar as mesmas opções para lsblk , então você pode usar o comando com RM em vez de HOTPLUG :

lsblk -o NAME,RM,MOUNTPOINT | grep -w 1 | grep -vE "sr|loop" | awk '{print $3}'

Ou , você pode usar o tipo TRAN , testei em 16.04, que é device transport type . Dá uma saída diferente que pode ser mais fácil de criar scripts.

lsblk -o NAME,TRAN,MOUNTPOINT

Que produz uma saída assim:

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

Como o MOINTPOINT está listado na próxima linha após o usb, usaremos grep -A 1 para pegar a próxima linha e usar awk '{print $2}' para imprimir a segunda coluna de saída nessa linha:

terrance@terrance-ubuntu:~$ lsblk -o NAME,TRAN,MOUNTPOINT | grep -A 1 -w usb | grep -v usb | awk '{print $2}'
/media/terrance/E627-3C44

Espero que isso ajude!

    
por Terrance 15.03.2017 / 17:18
0

Tipo:

df # mostra o ponto de montagem de todos os dispositivos conhecidos

No seu caso, será algo como:

/ media / sr0

/ media / usb0

Eu não esperaria que fosse sda1, que normalmente é a unidade de inicialização

    
por jones0610 15.03.2017 / 18:44