Je voudrais lister UNIQUEMENT les appareils connectés via USB.
Le problème est qu'Ubuntu semble voir toutes les clés USB comme amovibles (dans /sys/block/*/removable
), mais ne voit pas les disques durs externes de la même manière.
C'est un peu plus spécifique que Comment détecter un périphérique USB?
Si vous recherchez les disques montés, un simple
df
les listera avec tous vos autres disques avec quelques informations utiles.
Je vous recommande de vérifier les propriétés udev des périphériques, en particulier la propriété 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
Je pense
lsusb
vous donnera ce que vous voulez, du moins si je comprends ce que vous demandez. (Bien sûr, il répertorie tous les périphériques USB, pas seulement le stockage.)
Edit: Quand j'ai un peu de temps, je revisiterai ce post pour le lister uniquement des périphériques USB. Pour l'instant, il répertorie tous les périphériques montés dans /media
, ce qui peut convenir à certaines personnes.
/media
Toutes les autres réponses ici semblent échouer dans le filtrage des périphériques de stockage non USB ou des périphériques USB non de stockage. Voici une commande qui ne devrait répertorier que les périphériques de stockage connectés via USB. Une exception qui n’aura probablement aucune importance pour quiconque est qu’elle n’affiche pas les lecteurs optiques USB connectés avec le support monté.
Conditions pour que cela fonctionne
/media
. Si votre périphérique USB est configuré dans fstab pour un montage ailleurs, vous devez ajuster les commandes suivantes.Liste des périphériques de stockage USB
Dans mon cas particulier pour un script que j'écris, je liste des partitions individuelles. Voici deux commandes. L'un listera les partitions des périphériques connectés et l'autre simplement les périphériques.
Liste des partitions:lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
Exemple de sortie:
/dev/sdd1
/dev/sdi1
/dev/sdj1
/dev/sdj2
Liste des appareils:lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
Exemple de sortie:
/dev/sdd
/dev/sdi
/dev/sdj