O que é um comando do Linux que lista apenas dispositivos de armazenamento USB?

3

Gostaria de listar apenas os dispositivos de armazenamento USB conectados ao meu computador. Como esses são discos SCSI, usei o comando lsscsi , que lista as unidades USB, bem como o disco rígido e a unidade de CD do meu computador. Existe uma maneira de ignorar o armazenamento de memória que não é um USB? Eu também tentei lsusb , mas isso inclui meu teclado, mouse e outros dispositivos que não são de armazenamento.

    
por Kalmar 08.07.2015 / 21:58

2 respostas

4

Esta resposta verifica a lista de todos os dispositivos de bloco anexados e repete sobre eles com udevadmin para verificar seus respectivos ID_BUS .

Você pode ver todos os dispositivos de bloco anexados em /sys/block . Aqui está o script bash da resposta vinculada que deve informar se é um dispositivo de armazenamento USB:

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done
    
por 08.07.2015 / 22:19
0

Você pode usar o lsblk.

lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   285M  0 part /boot
├─sda2   8:2    0   1,9G  0 part [SWAP]
├─sda3   8:3    0  74,5G  0 part /
└─sda4   8:4    0 389,1G  0 part /home
sr0     11:0    1  1024M  0 rom  

Normalmente, os dispositivos usb estão em sdb, portanto, o lsblk sdb deve fornecer todos os dispositivos usb.

    
por 08.07.2015 / 22:20