Como faço para listar todos os dispositivos de armazenamento (thumb drives / discos rígidos externos) que estão conectados via USB, a partir da linha de comando?

12

Gostaria de listar APENAS dispositivos conectados via usb.

O problema é que o Ubuntu parece ver todos os pendrives como removíveis (em /sys/block/*/removable ), mas não vê os discos rígidos externos da mesma maneira.

Isso é um pouco mais específico do que Como detectar um dispositivo USB?

    
por user1556438 27.07.2012 / 04:56

4 respostas

10

Se você está procurando os discos montados, um simples

df

irá listá-los junto com todos os seus outros discos junto com algumas informações úteis.

    
por Jazz 27.07.2012 / 05:25
7

Eu recomendaria verificar as propriedades do udev dos dispositivos, especificamente a propriedade ID_BUS :

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done
    
por Jeremy Kerr 27.07.2012 / 05:04
1

Eu acho que

lsusb

vai te dar o que você quer, pelo menos se eu entendi o que você está perguntando. (Claro, ele lista todos os dispositivos usb, não apenas o armazenamento.)

    
por Kelley 27.07.2012 / 05:04
0

Listando somente dispositivos armazenamento USB

Edit: Quando eu tiver algum tempo, vou revisitar este post para fazer a lista apenas de dispositivos USB. Por enquanto, ele lista todos os dispositivos montados em /media , o que pode ser bom o suficiente para algumas pessoas.

Listando todos os dispositivos montados em /media

Todas as outras respostas aqui parecem falhar na filtragem de dispositivos de armazenamento não USB ou de dispositivos USB sem armazenamento. Aqui está um comando que deve listar apenas os dispositivos de armazenamento conectados via USB. Uma exceção, que provavelmente não é importante para ninguém, não exibirá unidades ópticas USB conectadas com mídia montada. / em>

Requisitos para que isso funcione

  • Dispositivos USB devem ser montados. Normalmente, os sistemas operacionais de desktop do Ubuntu são montados automaticamente por padrão
  • A mídia deve ser montada no diretório /media . Se o seu dispositivo USB estiver configurado em fstab para montar em outro lugar, você precisará ajustar os seguintes comandos

Listando dispositivos de armazenamento USB
No meu caso particular de um script que estou escrevendo, eu listo partições individuais. Aqui estão dois comandos. Um listará as partições dos dispositivos conectados e o outro simplesmente listará os dispositivos.

  • Listagem de partições:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"}'
    Exemplo de saída:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Listando dispositivos:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"}' | sort | uniq
    Exemplo de saída:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    
por b_laoshi 21.08.2017 / 02:57