Como listar todos os dispositivos de armazenamento (pen drives / discos rígidos externos) conectados via USB, na linha de comando?

18

Gostaria de listar apenas dispositivos conectados via usb.

O problema é que o Ubuntu parece ver todos os pen drives como removíveis (pol /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?

user1556438
fonte

Respostas:

14

Se você estiver procurando pelos discos montados, um simples

df

irá listá-los juntamente com todos os outros discos, além de algumas informações úteis.

Jazz
fonte
2
mas isso fornece todos os dispositivos de bloco, não apenas aqueles conectados via USB.
Jeremy Kerr
9

Eu recomendo verificar as propriedades udev dos dispositivos, especificamente a ID_BUSpropriedade:

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done
Jeremy Kerr
fonte
Isso cospe dispositivos para o meu leitor de cartão embutido, mesmo quando não há cartões inseridos.
precisa saber é o seguinte
@b_laoshi: sim, eles ainda serão reportados como dispositivos de armazenamento, mas sem a mídia presente.
Jeremy Kerr
2

eu acho que

lsusb

lhe dará o que você quer, pelo menos se eu entender o que você está perguntando. (Obviamente, ele lista todos os dispositivos USB, não apenas o armazenamento.)

Kelley
fonte
2

Listando apenas dispositivos de armazenamento USB conectados

Edit: Quando tiver algum tempo, revisitarei este post para listar apenas dispositivos USB. Por enquanto, lista todos os dispositivos montados /mediaque podem ser bons o suficiente para algumas pessoas.

Listando todos os dispositivos montados em /media

Todas as outras respostas aqui parecem falhar ao filtrar dispositivos de armazenamento não USB ou USB. Aqui está um comando que deve listar apenas dispositivos de armazenamento conectados via USB. Uma exceção, que provavelmente não importa para ninguém, é que isso não exibirá as unidades ópticas USB conectadas com a mídia montada.

Requisitos para que isso funcione

  • Os dispositivos USB devem ser montados. Os SOs de desktop Ubuntu normalmente montam automaticamente por padrão
  • A mídia deve ser montada no /mediadiretório Se o seu dispositivo USB estiver configurado no fstab para montar em outro lugar, você precisará ajustar os seguintes comandos

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

  • Listando partições:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    Saída de amostra:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Listagem de dispositivos:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    Saída de amostra:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    
b_laoshi
fonte
E as partições de discos internos montados /media?
Muru
Isso apresentaria um problema, mas que provavelmente não afetará a maioria dos usuários. Vou pensar um pouco e atualizar mais tarde.
precisa saber é o seguinte