ls (mostra però le singole partizioni)
# ls /dev/sd*
/dev/sda /dev/sda1
ls (solo dischi, ignora le partizioni)
# ls /dev/sd*[a-z]
/dev/sda
fdisk
# fdisk -l 2>/dev/null |awk '/^Disk \//{print substr($2,0,length($2)-1)}'
/dev/xvda
Puoi usare df
per elencare tutte le partizioni montate, il comando produrrà qualcosa come
$ df
/dev/sda1 230467740 37314652 181422912 18% /
udev 10240 0 10240 0% /dev
tmpfs 5599420 0 5599420 0% /sys/fs/cgroup
/dev/sdb1 961303548 130106540 782342500 15% /media/Data
..
Se vuoi elencare solo i tuoi dischi montati, puoi filtrare l'output con grep, per esempio
$ df | grep '^/dev'
/dev/sda1 230467740 37314752 181422812 18% /
/dev/sdb1 961303548 130106540 782342500 15% /media/Data
che corrisponde alle righe che iniziano con /dev
, o, se vuoi solo i nomi
df | grep -o '^/dev[^ ]*'
/dev/sda1
/dev/sdb1
che corrisponderà alle stringhe che iniziano con /dev
fino al primo carattere di spazio bianco e restituisce solo la corrispondenza (opzione -o, --only-matching
),
Modifica
Quanto sopra elencherà tutte le partizioni, se hai bisogno di elencare i dischi, usa lsblk
invece, con le seguenti opzioni (pattern matching come sopra)
$ lsblk -dp | grep -o '^/dev[^ ]*'
/dev/sda
/dev/sdb
-d
elenca solo il dispositivo, senza partizioni-p
restituisce l'intero percorso
Modifica 2
Come indicato di seguito, lsblk -dpno name
darà lo stesso risultato, non c'è bisogno di grep
.