Qual é o comando do terminal para encontrar a informação usb?

6

Eu sei que posso encontrar o nome da minha unidade flash indo em /media/user/nameOfFlashdrive no gerenciador de arquivos. No entanto, existe um comando de terminal em que posso inserir o nome do pen drive e ele me dirá onde a unidade está conectada, como /dev/sdb1 ?

    
por user2669764 24.02.2016 / 19:37

3 respostas

3

Você pode simplesmente usar:

lsblk | grep <flashdrive>

Isso será exibido na minha situação, executando

$ 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

onde você pode ver o dispositivo e o ponto de montagem. Como você pode ver, eu tenho dois drives usb chamados My Passport

Obtenha apenas o dispositivo

$ lsblk | grep Passport | awk '{ print  }'
└─sdb1
└─sdc1

O mesmo, mas com uma saída mais precisa:

$ lsblk | grep Passport | awk -F'[─ ]' '{ print  }'
sdb1
sdc1

Ou, como sugerido por @kos (obrigado!), ainda mais simples, usando lsblk com a opção -l (que deixará de fora o └─ na saída, antes dos dispositivos):

$ lsblk -l | grep Passport | awk '{ print  }'
sdb1
sdc1

Ou (como sugerido por @kos), você poderia ficar sem o comando grep , usando apenas lsblk e awk :

$ lsblk -l | awk '/Passport/{ print  }'
sdb1
sdc1

Explicação

  • lsblk listará todos os seus dispositivos montados
  • grep <flashdrive> listará apenas a (s) linha (s) correspondente (s) ao nome do seu dispositivo, da seguinte forma:

    └─sdc1   8:33   0 698,6G  0 part /media/jacob/My Passport
    
  • awk -F'[─ ]' '{ print }' dividirá a linha por dois delimitadores:

    (que é o segundo caractere de └─)

    e um espaço.

Posteriormente, podemos obter facilmente a seção de que precisamos.

    
por Jacob Vlijm 24.02.2016 / 19:47
3

Existem vários comandos para isso, na verdade. Pode-se sempre filtrar a saída, usando ferramentas de processamento de texto, geralmente sua saída é pequena o suficiente para ler em uma tela inteira.

blkid

Este comando puro por si só, como o nome sugere, mostra informações sobre dispositivos de bloco. Com -L você pode procurar por um dispositivo específico com um rótulo (nome).

$ blkid -L DTSE9                                               
/dev/sdb1

df

Este comando puro é parte do pacote coreutils , mostra o tamanho do bloco e o uso dos "arquivos do dispositivo". Ele mostra apenas informações sobre os dispositivos montados (em outras palavras, vinculados a uma pasta em algum lugar). Por exemplo,

/dev/sdb5      115247656 84753976  24616332  78% /media/WINDOWS

Diz-me que a partição do meu Windows no segundo disco rígido está associada à partição /media/WINDOWS .

udisksctl

$ udisksctl status                                             
MODEL                     REVISION  SERIAL               DEVICE
--------------------------------------------------------------------------
Radeon R7                 1.01      A22MD061520000172    sda     
TSSTcorp CDDVDW SU-208GB  TF01      S16T6YEFB00NKH       sr0 

Comando muito conveniente que lista modelos e arquivos de dispositivos aos quais um disco está vinculado. No exemplo acima, meu SSD Radeon R7 está vinculado a /dev/sda device.

Se entrarmos em mais detalhes, udisksctl info -b /dev/sda listará muitas informações adicionais, incluindo tamanho e links simbólicos.

Se queremos ir à loucura, udisksctl dump produzirá uma saída detalhada em todos os discos.

parted e fdisk

Ambos os comandos são utilitários de discos, usados para particionar, redimensionar e muitas outras coisas divertidas. Ambos, no entanto, exigem o uso de sudo . Ambos geram ótimas informações detalhadas

find

Esta é uma abordagem mais "prática". Todos os dispositivos têm um arquivo de dispositivo especial no Linux (lembre-se da filosofia Unix que diz que tudo é um arquivo? Aplica-se aqui o melhor). Sabendo que existem arquivos /dev/disk/by-label , poderíamos pesquisar esse diretório, ou poderíamos apenas pesquisar /dev/disk em geral. Definitivamente, uma ferramenta que os usuários mais avançados podem apreciar

$ find -L /dev/disk/by-label/ -name "DTSE9" -exec readlink -e {} \;               
/dev/sdb1

lsblk

Já coberto por Jacob.

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)

Lista todos os sistemas de arquivos montados. Pode ser filtrado com grep para procurar por um sistema de arquivos específico. É análogo a fazer grep 'DISKNAME OR UUID' /proc/mounts

lshw

Este comando fornece informações sobre todo o hardware no sistema. Em particular, você pode visualizar informações sobre discos usando lshw -c disk para o dispositivo inteiro ou lshw -c volume para partições. e você deve ver a saída com linhas como esta:

logical name: /dev/sdc1
   logical name: /media/xieerqi/BA02-AF80
    
por Sergiy Kolodyazhnyy 24.02.2016 / 21:19
1

... anexando as respostas abrangentes acima:

lsusb

lsusb é um utilitário para exibir informações sobre barramentos USB no        sistema e os dispositivos conectados a eles.

Veja a página de manual . !

    
por Campa 17.03.2016 / 07:55