Comment répertorier tous les périphériques de stockage (clés USB / disques durs externes) connectés via USB, à partir de la ligne de commande?

18

Je voudrais répertorier UNIQUEMENT les appareils connectés via USB.

Le problème est qu'Ubuntu semble voir toutes les clés USB comme amovibles (en /sys/block/*/removable), mais il 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?

user1556438
la source

Réponses:

14

Si vous recherchez les disques montés, un simple

df

les répertoriera avec tous vos autres disques avec quelques informations utiles.

le jazz
la source
2
mais cela donne tous les périphériques de bloc, pas seulement ceux connectés via USB.
Jeremy Kerr
9

Je recommande de vérifier les propriétés udev des périphériques, en particulier la ID_BUSpropriété:

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
la source
Cela crache également des appareils pour mon lecteur de carte intégré même s'il n'y a pas de carte insérée.
b_laoshi
@b_laoshi: oui, ceux-ci seront toujours signalés comme des périphériques de stockage, mais sans aucun média présent.
Jeremy Kerr
2

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.)

Kelley
la source
2

Liste uniquement des périphériques de stockage USB connectés

Edit: Quand j'aurai du temps, je revisiterai ce post pour ne lister que les périphériques USB. Pour l'instant, il répertorie tous les appareils montés dans /medialesquels peuvent être suffisants pour certaines personnes.

Liste de tous les appareils montés dans /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-stockage. Voici une commande qui devrait répertorier uniquement les périphériques de stockage connectés via USB. Une exception, qui n'aura probablement aucune importance pour personne, est que cela n'affichera pas les lecteurs optiques USB connectés avec un support monté.

Conditions requises pour que cela fonctionne

  • Les périphériques USB doivent être montés. Les systèmes d'exploitation de bureau Ubuntu sont généralement montés automatiquement par défaut
  • Les supports doivent être montés dans le /mediarépertoire. Si votre périphérique USB est configuré dans fstab pour être monté ailleurs, vous devrez modifier les commandes suivantes

Liste des périphériques de stockage USB
Dans mon cas particulier pour un script que j'écris, je liste les partitions individuelles. Voici deux commandes. L'un répertorie les partitions des périphériques connectés et l'autre répertorie 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
    
b_laoshi
la source
Qu'en est-il des partitions de disques internes qui sont montées /media?
muru
Cela poserait un problème, mais qui ne devrait pas affecter la plupart des utilisateurs. Je vais y réfléchir et mettre à jour plus tard.
b_laoshi