comment lister tous les disques durs sous linux depuis la ligne de commande
Disque dur, disque dur, lecteur de disque ou disque dur sont tous des noms pour un dispositif de stockage de données (dispositif matériel) pour stocker et récupérer des informations numériques généralement dans un ordinateur. Un ordinateur peut avoir plusieurs disques durs attachés à lui, à la fois internes et externes.
Maintenant, ces disques durs peuvent être encore divisés en plusieurs conteneurs logiques afin d’héberger différents systèmes de fichiers ou de garder les systèmes de fichiers/fichiers séparés. On les appelle des partitions et elles peuvent ensuite être montées indépendamment sans affecter les autres disques et partitions. À un haut niveau d’abstraction, vous pouvez voir la partition comme des disques séparés également.
Les disques durs sur un système sont détectés et/ou identifiés par divers pilotes de périphériques dans le noyau, puis on leur attribue un identifiant de périphérique unique au moment du démarrage, ce qui lui permet d’être monté et lu plus tard (oui, c’est une simplification excessive de la façon dont tout cela fonctionne, mais cela devrait suffire pour ce post). Nous verrons plus loin dans le post comment vous pouvez lister les disques qui ont été identifiés par le système.
Les disques durs peuvent être différenciés en fonction de l’interface utilisée pour interagir avec eux. Certains des types de disques couramment utilisés sont SCSI (Small Computer System Interface), ATA ou IDE (Advanced Technology Attachment), SATA (Serial ATA), SAS (Serial Attached SCSI), entre autres. Comme je l’ai mentionné, un identifiant unique est attribué au disque dur physique au démarrage. Cela peut être configuré (en utilisant udev entre autres) de sorte que vous pouvez lui attribuer à peu près id, mais généralement la plupart des systèmes suivent certaines conventions universellement acceptées lors de la dénomination des périphériques.
Il existe plusieurs commandes différentes que vous pouvez utiliser dans un environnement Linux pour répertorier les disques qui ont été montés sur le système.
df
La commande df est principalement destinée à signaler l’utilisation de l’espace disque du système de fichiers. Elle reste un bon utilitaire pour imprimer les disques disponibles sur le système, bien qu’elle imprime les systèmes de fichiers plutôt que les disques en soi.
Vous pouvez utiliser l’option -h ou -human-readable avec df pour imprimer l’utilisation du disque dans un format lisible par l’homme. Recherchez les systèmes de fichiers qui s’identifient comme /dev/sda, /dev/sdb ou /dev/hda pour identifier les disques.
lsblk
La commande lsblk permet de lister les périphériques bloc. Elle lit les données de la base de données udev avec le système de fichiers sysfs pour imprimer un rapport sur tous les périphériques de bloc disponibles ou spécifiés. Les périphériques de bloc font abstraction des caractéristiques matérielles réelles de tout périphérique physique et vous permettent d’interagir avec lui en utilisant une interface tamponnée.
La commande lsblk sans aucun argument imprimera les périphériques de bloc dans un format arborescent. Là encore, recherchez les noms, tels que sda, sdb, etc. Le niveau supérieur désigne le disque et les enfants de premier niveau représentent les partitions avec dans le bloc.
Il existe plusieurs options de ligne de commande utiles qui peuvent être utilisées avec la commande lsblk. Le -d ou -nodeps imprimera le périphérique et non les partitions. Le -S ou -scsi sortira uniquement les périphériques SCSI.
lshw
Un autre utilitaire couramment utilisé est lshw, qui peut imprimer des informations détaillées sur votre matériel. Encore une fois, il pourrait ne pas être par défaut dans certaines distros même s’il s’agit d’une application système.
bash$ lshw -class disk
La commande ci-dessus listera tous les disques du système. Vous pouvez également spécifier la classe de stockage si vous souhaitez également imprimer les contrôleurs de stockage. Vous pouvez encore réduire la verbosité de la sortie en utilisant l’option -short
bash$ lshw -class disk -class storage -short