Come posso elencare tutti i dispositivi di archiviazione (chiavette USB / dischi rigidi esterni) collegati tramite USB, dalla riga di comando?


18

Vorrei elencare SOLO i dispositivi collegati tramite USB.

Il problema è che Ubuntu sembra vedere tutte le chiavette USB come rimovibili (in /sys/block/*/removable), ma non vede i dischi rigidi esterni allo stesso modo.

Questo è un po 'più specifico di Come rilevare un dispositivo USB?

Risposte:


14

Se stai cercando i dischi montati, un semplice

df

li elencherò insieme a tutti gli altri dischi insieme ad alcune informazioni utili.


2
ma questo fornisce tutti i dispositivi a blocchi, non solo quelli collegati tramite USB.
Jeremy Kerr,

9

Consiglio di controllare le proprietà udev dei dispositivi, in particolare la ID_BUSproprietà:

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

Questo sputa anche i dispositivi per il mio lettore di schede integrato anche quando non sono inserite schede.
b_laoshi,

@b_laoshi: sì, quelli verranno comunque riportati come dispositivi di archiviazione, ma senza supporti presenti.
Jeremy Kerr,

2

penso

lsusb

ti darà quello che vuoi, almeno se capisco quello che mi stai chiedendo. (Ovviamente, elenca tutti i dispositivi USB, non solo l'archiviazione.)


2

Elenco solo dei dispositivi di archiviazione USB collegati

Modifica: quando avrò del tempo, rivisiterò questo post per farlo elencare solo i dispositivi USB. Per ora, elenca tutti i dispositivi montati in /mediacui potrebbe essere abbastanza buono per alcune persone.

Elenco di tutti i dispositivi montati /media

Tutte le altre risposte qui sembrano non riuscire a filtrare i dispositivi di archiviazione non USB o i dispositivi USB non di archiviazione. Ecco un comando che dovrebbe elencare solo i dispositivi di archiviazione collegati tramite USB. Un'eccezione, che probabilmente non interesserà a nessuno, è che non visualizzerà le unità ottiche USB collegate con i supporti montati.

Requisiti affinché ciò funzioni

  • I dispositivi USB devono essere montati. I sistemi operativi desktop Ubuntu in genere si montano automaticamente per impostazione predefinita
  • I supporti devono essere montati nella /mediadirectory. Se il tuo dispositivo USB è configurato in fstab per il montaggio da qualche altra parte, dovresti modificare i seguenti comandi

Elenco dei dispositivi di archiviazione USB
Nel mio caso particolare per uno script che sto scrivendo, elenco le singole partizioni. Ecco due comandi. Uno elencherà le partizioni dei dispositivi collegati e l'altro elencherà semplicemente i dispositivi.

  • Elenco delle partizioni:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    Output di esempio:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Elencazione dei dispositivi:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    Output di esempio:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    

Che dire delle partizioni dei dischi interni che vanno montate /media?
Muru,

Ciò rappresenterebbe un problema, ma è probabile che non influisca sulla maggior parte degli utenti. Ci penserò su e aggiornerò più tardi.
b_laoshi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.