Articles

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

blkid

La commande lsblk mentionnée précédemment est une option meilleure et recommandée que la commande blkid. Je l’inclus ici juste par souci d’exhaustivité.

blkid imprimera plusieurs attributs différents sur les périphériques de bloc. Vous pouvez généralement distinguer les disques et les partitions à partir de la sortie, tout comme avec lsblk.

bash$ blkid

fdisk

fdisk est une commande populaire surtout utilisée pour manipuler la table de partition. Vous pouvez l’utiliser pour lister toutes les partitions de la table de partition et trouver les périphériques qui sont disponibles. L’option de ligne de commande -list ou -l imprimera toutes les partitions connues de tous les périphériques.

bash$ fdisk -l

Vous recherchez probablement quelque chose comme ceci dans la sortie.

Il existe quelques autres outils de manipulation de table de partition construits au-dessus de fdisk, avec plus d’options et de fonctionnalités. sfdisk et cfdisk sont deux de ces exemples. Ils pourraient cependant ne pas être installés dans la plupart des distros.

parted

Sur les lignes de fdisk, parted est un autre utilitaire de manipulation de table de partition. Là encore, vous pouvez utiliser l’option de ligne de commande -list ou -l pour imprimer les périphériques ou les disques et toutes ses infos. Je préfère la sortie par défaut de parted à celle de fdisk, mais c’est alors subjectif.

bash$ parted -l

Model: ATA ST3160815AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

/proc/ file

Une autre façon rudimentaire est d’imprimer le contenu du dossier /proc/partitions/. Cela imprimera tous les périphériques et partitions connus du système. À ce stade, vous devriez être en mesure de différencier le disque et les partitions, je suppose.

bash$ cat /proc/partitions

Recherchez le mineur ‘0’ ou un nom conforme au format /dev/sda.

lsscsi

Si vous savez que vous n’avez que des périphériques SCSI ou que vous n’avez besoin que des informations sur les disques SCSI, alors vous pouvez utiliser la commande lsscsi. Cet utilitaire pourrait ne pas être installé par défaut sur certaines distros.

Comme le nom de la commande le suggère, elle imprime toutes les informations sur les périphériques SCSI du système.

bash$ lsscsi

Quoi que soit la distribution sur laquelle vous vous trouvez, vous devriez être en mesure de lister les disques de votre système en utilisant au moins une des commandes listées ci-dessus.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *