Commande lsblk : structure des disques et partitions et vérification de l'UUID
La commande lsblk affiche sous forme d'arborescence les disques et partitions connectés à un serveur ainsi que leurs points de montage, et montre d'un coup la taille des disques, le type de système de fichiers et même l'UUID. En exécutant lsblk sur un serveur AlmaLinux 9, les périphériques loop créés par les paquets snap sont apparus avant le disque, nous les avons donc filtrés avec -e 7. Nous avons ensuite vérifié avec -f le système de fichiers xfs et l'UUID de la partition racine.
Les tailles de disque et les UUID de la sortie ci-dessous sont des valeurs d'exemple.
1️⃣ Lire la sortie de base de la commande lsblk
Sur un serveur où des programmes ont été installés avec snap, lsblk sans option affiche avant le disque une série de périphériques loop montés, un par version de paquet. On indique donc avec -e le numéro de périphérique des loop, 7, pour les exclure.
lsblk -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk
├─nvme0n1p1 259:1 0 1M 0 part
├─nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─nvme0n1p3 259:3 0 1G 0 part /boot
└─nvme0n1p4 259:4 0 78.8G 0 part /nvme0n1 dans la colonne NAME est le disque. Les partitions qui divisent ce disque sont nvme0n1p1 à nvme0n1p4, reliées en dessous par [├─] et [└─]. C'est comme le tableau des étages à l'entrée d'un immeuble, qui indique sous le nom de l'immeuble ce qui se trouve à chaque étage.
Dans la colonne TYPE, les disques apparaissent comme [disk] et les partitions comme [part], et la colonne MOUNTPOINTS indique le dossier où chaque partition est montée. Sur le serveur vérifié, la partition racine nvme0n1p4 était montée sur / et nvme0n1p3 sur /boot. nvme0n1p1, de 1M, est une partition de démarrage BIOS utilisée pour démarrer depuis un disque GPT, elle n'a donc pas de point de montage.
MAJ:MIN sont les numéros majeur et mineur que le noyau attribue à un périphérique ; les périphériques loop ont 7 et le disque NVMe vérifié avait 259. RM indique par 1 ou 0 si le périphérique est amovible, et RO s'il est en lecture seule.
On lit facilement SIZE comme l'espace libre, mais SIZE est la taille totale du disque ou de la partition. L'espace libre d'un système de fichiers se vérifie dans la colonne FSAVAIL, qui apparaît avec -f.
Le diagramme ci-dessous permet de comparer étape par étape comment les lignes et les colonnes de la sortie changent selon l'option.
2️⃣ lsblk -f : vérifier les systèmes de fichiers et les UUID
La sortie de base n'affiche pas le type de système de fichiers, on vérifie donc avec -f comment une partition a été formatée. -f affiche huit colonnes : NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% et MOUNTPOINTS.
lsblk -f -e 7NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
nvme0n1
├─nvme0n1p1
├─nvme0n1p2 vfat FAT16 5A1E-3B7C 192.1M 4% /boot/efi
├─nvme0n1p3 xfs 6d2f0c4e-8b1a-4f3d-a7e2-9c5b1d0e4f28 691.4M 28% /boot
└─nvme0n1p4 xfs 2b9e7f41-c3d6-4a85-b0f1-7e4a2c9d6b13 68.5G 13% /À l'exécution, les partitions racine et /boot étaient en xfs, et /boot/efi en vfat dans la version FAT16. Le disque nvme0n1 et nvme0n1p1 n'ont pas de système de fichiers et sont donc restés vides. L'UUID est un numéro unique attribué à chaque système de fichiers ; on l'utilise dans /etc/fstab pour désigner la partition à monter par son UUID plutôt que par son nom de périphérique.
Pour vérifier les informations du système de fichiers avec le plus de précision, on utilise la commande blkid.
FSAVAIL et FSUSE% sont l'espace libre et le taux d'utilisation d'un système de fichiers monté. Les partitions non montées n'affichent aucune valeur. Commande df n'affiche que la taille et l'utilisation des systèmes de fichiers montés. lsblk affiche en plus la structure des disques et des partitions, qu'ils soient montés ou non.
3️⃣ lsblk -o pour choisir les colonnes et -b pour les octets
Si l'on écrit après -o des noms de colonnes séparés par des virgules, seules ces colonnes apparaissent, dans cet ordre. Les noms de colonnes disponibles figurent dans la liste à la fin de [lsblk --help].
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e 7NAME SIZE FSTYPE MOUNTPOINT
nvme0n1 80G
├─nvme0n1p1 1M
├─nvme0n1p2 200M vfat /boot/efi
├─nvme0n1p3 1G xfs /boot
└─nvme0n1p4 78.8G xfs /MOUNTPOINT n'affiche qu'un seul point de montage, tandis que MOUNTPOINTS les affiche tous lorsque le même système de fichiers est monté à plusieurs endroits. Pour n'ajouter qu'une colonne après les colonnes de base, on place + devant le nom de la colonne, comme dans [-o +UUID].
-b affiche les tailles en nombres entiers d'octets. Pour comparer à l'œil, les unités de base sont plus lisibles ; -b convient donc aux scripts qui calculent ou comparent des tailles.
lsblk -b -o NAME,SIZE -e 7NAME SIZE
nvme0n1 85899345920
├─nvme0n1p1 1048576
├─nvme0n1p2 209715200
├─nvme0n1p3 1073741824
└─nvme0n1p4 84613774848Les G et M de la sortie de base sont des unités de 1 024, le disque de 80G apparaît donc comme 85 899 345 920 octets.
4️⃣ lsblk -d pour la liste des disques et -p pour les chemins complets
Sur un serveur à plusieurs disques, les lignes de partition s'intercalent et la liste des disques devient difficile à lire ; on retire donc les partitions avec -d pour n'afficher que les lignes de disque.
lsblk -d -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk Dans la sortie, seule la ligne du disque nvme0n1 est restée, et les quatre lignes de partition en dessous ne sont pas apparues.
Avec -p, /dev/ est ajouté devant les noms de périphérique, qui apparaissent sous forme de chemins complets. Ces chemins peuvent être passés tels quels à d'autres commandes comme mount.
lsblk -p -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
/dev/nvme0n1 259:0 0 80G 0 disk
├─/dev/nvme0n1p1 259:1 0 1M 0 part
├─/dev/nvme0n1p2 259:2 0 200M 0 part /boot/efi
├─/dev/nvme0n1p3 259:3 0 1G 0 part /boot
└─/dev/nvme0n1p4 259:4 0 78.8G 0 part /Seule la colonne NAME passe aux chemins complets, de /dev/nvme0n1 à /dev/nvme0n1p4 ; les autres colonnes sont identiques à la sortie de base.
Si l'on passe en argument le chemin d'un périphérique, seuls ce périphérique et ses partitions s'affichent ; avec le chemin d'une partition, seule la ligne de cette partition apparaît.
lsblk /dev/nvme0n1p4NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4 0 78.8G 0 part /La sortie n'affiche que la ligne de nvme0n1p4, sans la ligne du disque ni les marques de branche. Avec un chemin de périphérique inexistant, l'erreur [not a block device] est apparue et le code de sortie était 32.
5️⃣ Sortie et options de la commande lsblk pour les scripts
Il est tentant de découper la sortie de base dans les scripts, mais la composition des colonnes de la sortie de base et de -f peut changer à l'avenir ; dans les scripts, on indique donc soi-même les colonnes avec -o.
-n retire la ligne d'en-tête et n'affiche que les valeurs ; il convient quand on n'a besoin que d'une valeur, comme le type de système de fichiers d'une partition.
lsblk -no FSTYPE /dev/nvme0n1p4xfsSans ligne d'en-tête, un seul mot apparaît, xfs, le type de système de fichiers de la partition racine ; on peut donc le placer directement dans une variable shell.
-P affiche chaque colonne sur une ligne sous la forme [nom=”valeur”]. Dans util-linux 2.37 sous AlmaLinux 9, ajouter -P suffit pour que les noms changent afin d'être faciles à lire comme variables shell, par exemple MAJ:MIN en MAJ_MIN et FSUSE% en FSUSE_PCT.
lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"Les trois colonnes indiquées apparaissent sur une ligne dans l'ordre NAME, FSTYPE, MOUNTPOINT. Toutes les valeurs sont entre guillemets doubles.
-J affiche la sortie en JSON. Sans -d, les partitions entrent dans le tableau children sous le disque. Utilisé avec -b, seul size devient un nombre, et les autres colonnes de taille comme FSAVAIL restent des chaînes.
lsblk -J -d -o NAME,SIZE,TYPE -e 7{
"blockdevices": [
{
"name": "nvme0n1",
"size": "80G",
"type": "disk"
}
]
}Avec -d, le tableau blockdevices ne contient que le disque, et le tableau children n'apparaît pas.
🔲 Options de la commande lsblk
| Option | Copier | Description |
|---|---|---|
| -e, --exclude | Exclut les périphériques ayant le numéro majeur indiqué. Avec 7, les périphériques loop sont exclus. | |
| -f, --fs | Affiche le type de système de fichiers, l'UUID, l'espace libre et le taux d'utilisation. | |
| -o, --output | N'affiche, dans l'ordre, que les colonnes indiquées séparées par des virgules. | |
| -b, --bytes | Affiche la colonne SIZE en nombres entiers d'octets. | |
| -d, --nodeps | Retire les lignes de partition et n'affiche que les lignes de disque. | |
| -p, --paths | Affiche les noms de périphérique sous forme de chemins complets commençant par /dev/. | |
| -n, --noheadings | Retire la ligne d'en-tête et n'affiche que les valeurs. | |
| -P, --pairs | Affiche les noms de colonnes et leurs valeurs par paires sur une ligne. | |
| -J, --json | Affiche la sortie au format JSON. | |
| -a, --all | Affiche aussi les périphériques vides de taille 0. |
| Option | Copier | Description |
|---|---|---|
| -I, --include | N'affiche que les périphériques ayant le numéro majeur indiqué. | |
| -l, --list | Affiche la sortie sous forme de liste au lieu d'une arborescence. | |
| -r, --raw | Affiche la sortie au format raw, sans aligner les colonnes. | |
| -i, --ascii | Affiche les lignes de l'arborescence avec des caractères ASCII. | |
| -s, --inverse | Inverse les dépendances et affiche les disques sous les partitions. | |
| -S, --scsi | N'affiche que les informations des périphériques SCSI. | |
| -t, --topology | Affiche des informations de topologie comme la taille de secteur et l'ordonnanceur d'E/S. | |
| -m, --perms | Affiche le propriétaire, le groupe et les permissions des périphériques. | |
| -x, --sort | Trie selon la colonne indiquée et affiche la sortie sous forme de liste. | |
| -O, --output-all | Affiche toutes les colonnes disponibles. |
🔲 Simulateur de la commande lsblk
Dans le simulateur ci-dessous, vous pouvez saisir vous-même les commandes vues jusqu'ici et vérifier comment la sortie change selon l'option.
🔢 FAQ & contenus recommandés
Linux · Swap
Configurer la mémoire swap (Swap Memory)
Comment créer de la mémoire swap sous forme de partition ou de fichier avec les commandes mkswap et swapon.
Linux · Disque
Commande dd sous Linux
Utilisation de base, options et exemples de la commande dd, qui sert à cloner des disques et des partitions ou à créer des fichiers image.
Disque · Notion
Qu'est-ce qu'un secteur de disque ?
Explique la structure de base d'un disque dur et ce qu'est un secteur de disque, c'est-à-dire la division du support de stockage en unités de taille fixe.
ℹ️ Mention d'affiliation
Le contenu de ce site contient des liens d'affiliation. Lorsqu'un visiteur achète un produit ou un service via l'un de ces liens, le site perçoit une commission du vendeur. Le montant payé par l'acheteur(il baisse lors des promotions ↓), lui, n'augmente pas. Les prix, remises et stocks indiqués correspondent à la date de rédaction et peuvent différer ; vérifiez-les donc auprès du vendeur avant d'acheter. Les produits sont choisis et évalués selon nos propres critères, et les commissions n'influencent ni l'ordre de présentation ni le contenu des évaluations.