Comment obtenir une liste de tous les disques, comme celui-ci?
/dev/sda
/dev/sdb
# ls /dev/sd*
/dev/sda /dev/sda1
# ls /dev/sd*[a-z]
/dev/sda
# fdisk -l 2>/dev/null |awk '/^Disk \//{print substr($2,0,length($2)-1)}'
/dev/xvda
Vous pouvez utiliser df
pour répertorier toutes les partitions montées, la commande affichera quelque chose comme
$ 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
..
Si vous souhaitez répertorier uniquement vos disques montés, vous pouvez filtrer la sortie avec grep, par exemple
$ df | grep '^/dev'
/dev/sda1 230467740 37314752 181422812 18% /
/dev/sdb1 961303548 130106540 782342500 15% /media/Data
qui correspond aux lignes commençant par /dev
, ou, si vous ne voulez que les noms
df | grep -o '^/dev[^ ]*'
/dev/sda1
/dev/sdb1
qui correspondra aux chaînes commençant par /dev
jusqu'au premier caractère d'espace blanc et n'affiche que la correspondance (option -o, --only-matching
),
Modifier
Ce qui précède listera toutes les partitions, si vous devez lister les disques, utilisez à la place lsblk
, avec les options suivantes (modèle correspondant comme ci-dessus)
$ lsblk -dp | grep -o '^/dev[^ ]*'
/dev/sda
/dev/sdb
-d
répertorie uniquement le périphérique, sans partitions-p
affiche le chemin entierÉdition 2
Comme indiqué ci-dessous , lsblk -dpno name
donnera le même résultat, pas besoin de grep
.