La commande Linux lsblk avec des exemples pratiques

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, nous allons explorer la commande Linux lsblk, qui affiche des informations sur tous les périphériques de bloc disponibles sur votre système. Les périphériques de bloc comprennent les disques durs, les SSD, les clés USB et d'autres supports de stockage. La commande lsblk présente ces informations dans un format arborescent clair qui permet de comprendre facilement la relation entre les différents dispositifs de stockage et leurs partitions.

Comprendre les périphériques de stockage est essentiel pour toute personne travaillant avec des systèmes Linux. Que vous ayez besoin d'identifier le stockage disponible, de vérifier la taille des partitions ou de valider les points de montage, la commande lsblk offre un moyen rapide et efficace de collecter ces informations.

À la fin de ce laboratoire, vous saurez utiliser la commande lsblk avec diverses options pour obtenir des informations détaillées sur les dispositifs de stockage de votre système Linux.

Aide-mémoire des commandes Linux

Utilisation de base de la commande lsblk

Dans cette étape, vous utiliserez la commande lsblk pour afficher les informations relatives aux périphériques de bloc disponibles sur votre système Linux. Les périphériques de bloc sont des dispositifs de stockage tels que les disques durs, les SSD et les clés USB.

Ouvrez le terminal s'il ne l'est pas déjà. Exécutez ensuite la commande lsblk de base :

lsblk

Vous devriez voir un résultat similaire à ceci :

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0  55.5M  1 loop /snap/core18/2128
loop1    7:1    0  55.4M  1 loop /snap/core18/2284
loop2    7:2    0  43.6M  1 loop /snap/snapd/15534
loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535
loop4    7:4    0  31.1M  1 loop /snap/snapd/16292
sda      8:0    0   50G  0 disk
├─sda1   8:1    0   49G  0 part /
└─sda2   8:2    0  976M  0 part [SWAP]

Ce résultat affiche tous les périphériques de bloc de votre système, avec les colonnes suivantes :

  • NAME : Le nom du périphérique
  • MAJ:MIN : Les numéros majeurs et mineurs du périphérique
  • RM : L'indicateur de amovibilité (1 signifie amovible, 0 non amovible)
  • SIZE : La taille du périphérique
  • RO : L'indicateur de lecture seule (1 signifie lecture seule, 0 lecture-écriture)
  • TYPE : Le type de périphérique (disque, partition, loop, etc.)
  • MOUNTPOINT : L'emplacement où le périphérique est monté (le cas échéant)

Dans l'exemple ci-dessus, vous pouvez observer :

  • Plusieurs périphériques de type loop utilisés par les paquets snap
  • Un dispositif de stockage principal sda (qui est un disque de 50 Go)
  • Deux partitions sur sda : sda1 (montée à la racine /) et sda2 (utilisée comme espace d'échange/swap)

La structure arborescente du résultat permet de visualiser facilement quelles partitions appartiennent à quels disques. Par exemple, vous pouvez voir que sda1 et sda2 sont toutes deux des partitions du disque sda.

Maintenant que vous comprenez le résultat de base de la commande lsblk, partons à la découverte de quelques options utiles dans les prochaines étapes.

Affichage d'informations supplémentaires avec lsblk

Dans cette étape, nous allons apprendre à utiliser la commande lsblk avec différentes options pour afficher des informations plus détaillées sur les périphériques de bloc.

Utilisation de l'option -f pour afficher les informations du système de fichiers

L'option -f affiche les informations relatives au système de fichiers, notamment son type, son libellé (label), son UUID et son point de montage. C'est particulièrement utile lorsque vous devez identifier des périphériques par leur UUID ou vérifier les types de systèmes de fichiers utilisés.

Exécutez la commande suivante dans votre terminal :

lsblk -f

Vous devriez voir un résultat similaire à celui-ci :

NAME   FSTYPE   LABEL UUID                                 MOUNTPOINT
loop0  squashfs                                            /snap/core18/2128
loop1  squashfs                                            /snap/core18/2284
loop2  squashfs                                            /snap/snapd/15534
loop3  squashfs                                            /snap/gtk-common-themes/1535
loop4  squashfs                                            /snap/snapd/16292
sda
├─sda1 ext4           5fbb8eed-12a3-4b5c-9d67-9594ff4e2d1c /
└─sda2 swap           b409ae25-7589-44eb-a909-b56f1d42c5ab [SWAP]

Le résultat inclut désormais des colonnes supplémentaires :

  • FSTYPE : Le type de système de fichiers (ext4, swap, squashfs, etc.)
  • LABEL : Le libellé du système de fichiers, s'il y en a un
  • UUID : L'identifiant universel unique (Universal Unique Identifier) du système de fichiers

Utilisation de l'option -m pour afficher le propriétaire et les permissions du périphérique

L'option -m affiche les permissions et les informations de propriété des périphériques de bloc. Cela s'avère pratique lors du dépannage de problèmes liés aux droits d'accès.

Exécutez la commande suivante :

lsblk -m

Vous devriez obtenir un affichage tel que :

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT OWNER GROUP MODE
loop0    7:0    0  55.5M  1 loop /snap/core18/2128 root  disk  brw-rw----
loop1    7:1    0  55.4M  1 loop /snap/core18/2284 root  disk  brw-rw----
loop2    7:2    0  43.6M  1 loop /snap/snapd/15534 root  disk  brw-rw----
loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535 root  disk  brw-rw----
loop4    7:4    0  31.1M  1 loop /snap/snapd/16292 root  disk  brw-rw----
sda      8:0    0   50G  0 disk            root  disk  brw-rw----
├─sda1   8:1    0   49G  0 part /          root  disk  brw-rw----
└─sda2   8:2    0  976M  0 part [SWAP]     root  disk  brw-rw----

Les nouvelles colonnes indiquent :

  • OWNER : L'utilisateur propriétaire du périphérique (généralement root)
  • GROUP : Le groupe propriétaire du périphérique (généralement disk)
  • MODE : Le mode de permissions du périphérique

Utilisation de l'option -o pour sélectionner des colonnes spécifiques

L'option -o vous permet de spécifier les colonnes exactes à afficher. C'est idéal lorsque vous n'avez besoin que de certaines informations et préférez un affichage plus propre et ciblé.

Affichons uniquement les colonnes du nom, de la taille et du point de montage :

lsblk -o NAME,SIZE,MOUNTPOINT

Le résultat sera beaucoup plus épuré :

NAME    SIZE MOUNTPOINT
loop0  55.5M /snap/core18/2128
loop1  55.4M /snap/core18/2284
loop2  43.6M /snap/snapd/15534
loop3  61.9M /snap/gtk-common-themes/1535
loop4  31.1M /snap/snapd/16292
sda     50G
├─sda1   49G /
└─sda2  976M [SWAP]

Ce rendu personnalisé facilite la concentration sur les seules informations dont vous avez besoin. Vous pouvez combiner plusieurs options pour obtenir exactement les données souhaitées dans le format qui vous convient le mieux.

Filtrer les périphériques de bloc avec lsblk

Dans cette étape, nous allons apprendre à restreindre le résultat de la commande lsblk et à afficher les informations sous différents formats.

Afficher uniquement les périphériques de niveau supérieur

L'option --nodeps, abrégée en -d, omet les périphériques dépendants tels que les partitions. C'est utile lorsque vous souhaitez une vue d'ensemble concise des périphériques de bloc principaux.

Exécutez la commande suivante :

lsblk --nodeps

Le résultat présentera les périphériques de haut niveau sans leur arborescence de partitions. Les noms et tailles des périphériques peuvent varier d'un système à l'autre :

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda  253:0    0   40G  0 disk
vdb  253:16   0  100G  0 disk /etc/hosts

Exclure des périphériques par leur numéro majeur

L'option --exclude, abrégée en -e, accepte une liste de numéros majeurs de périphériques séparés par des virgules à omettre. Par exemple, les périphériques loop utilisent le numéro majeur 7, la commande suivante permet donc de les exclure :

lsblk --exclude 7

Ce filtre s'applique aux périphériques de haut niveau. Leurs partitions dépendantes peuvent tout de même apparaître dans l'arborescence.

Afficher les chemins complets des périphériques

L'option --paths affiche les chemins d'accès complets des périphériques plutôt que leurs simples noms. C'est pratique lorsque vous devez faire référence aux périphériques dans des scripts ou des commandes.

Exécutez la commande suivante :

lsblk --paths

Le résultat inclura les chemins complets :

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/loop0    7:0    0  55.5M  1 loop /snap/core18/2128
/dev/loop1    7:1    0  55.4M  1 loop /snap/core18/2284
/dev/loop2    7:2    0  43.6M  1 loop /snap/snapd/15534
/dev/loop3    7:3    0  61.9M  1 loop /snap/gtk-common-themes/1535
/dev/loop4    7:4    0  31.1M  1 loop /snap/snapd/16292
/dev/sda      8:0    0   50G  0 disk
├─/dev/sda1   8:1    0   49G  0 part /
└─/dev/sda2   8:2    0  976M  0 part [SWAP]

Afficher le résultat au format JSON

L'option --json produit les informations au format JSON, ce qui est très pratique pour un traitement programmatique ou pour l'intégration avec d'autres outils.

Exécutez la commande suivante :

lsblk --json

Le résultat sera au format JSON :

{
  "blockdevices": [
    {
      "name": "loop0",
      "maj:min": "7:0",
      "rm": false,
      "size": "55.5M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/core18/2128"
    },
    {
      "name": "loop1",
      "maj:min": "7:1",
      "rm": false,
      "size": "55.4M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/core18/2284"
    },
    {
      "name": "loop2",
      "maj:min": "7:2",
      "rm": false,
      "size": "43.6M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/snapd/15534"
    },
    {
      "name": "loop3",
      "maj:min": "7:3",
      "rm": false,
      "size": "61.9M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/gtk-common-themes/1535"
    },
    {
      "name": "loop4",
      "maj:min": "7:4",
      "rm": false,
      "size": "31.1M",
      "ro": true,
      "type": "loop",
      "mountpoint": "/snap/snapd/16292"
    },
    {
      "name": "sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "50G",
      "ro": false,
      "type": "disk",
      "children": [
        {
          "name": "sda1",
          "maj:min": "8:1",
          "rm": false,
          "size": "49G",
          "ro": false,
          "type": "part",
          "mountpoint": "/"
        },
        {
          "name": "sda2",
          "maj:min": "8:2",
          "rm": false,
      "size": "976M",
          "ro": false,
          "type": "part",
          "mountpoint": "[SWAP]"
        }
      ]
    }
  ]
}

Combiner les options pour un contrôle précis

Vous pouvez combiner plusieurs options afin d'obtenir exactement les données requises. Par exemple, pour omettre les périphériques dépendants et les périphériques loop tout en affichant les chemins complets au format JSON :

lsblk --nodeps --exclude 7 --paths --json

Le résultat prendra la forme d'une représentation JSON des périphériques de haut niveau restants avec leurs chemins complets :

{
  "blockdevices": [
    {
      "name": "/dev/vda",
      "maj:min": "253:0",
      "rm": false,
      "size": "40G",
      "ro": false,
      "type": "disk"
    }
  ]
}

Ces options de filtrage rendent la commande lsblk extrêmement polyvalente et vous permettent d'extraire précisément les informations nécessaires concernant les périphériques de bloc de votre système.

Utilisation avancée de lsblk pour des scénarios pratiques

Dans cette étape, nous allons explorer des scénarios concrets où la commande lsblk s'avère indispensable pour l'administration système et les tâches de dépannage.

Vérifier l'utilisation du disque et l'espace disponible

Pour vérifier l'utilisation du disque et l'espace libre, vous pouvez combiner lsblk avec l'option -b (pour afficher les tailles en octets) tout en sélectionnant des colonnes spécifiques :

lsblk -b -o NAME,SIZE,FSAVAIL,FSUSE%,MOUNTPOINT

Le résultat affichera les informations d'utilisation du disque :

NAME     SIZE FSAVAIL FSUSE% MOUNTPOINT
loop0  58195968        0     - /snap/core18/2128
loop1  58130432        0     - /snap/core18/2284
loop2  45719552        0     - /snap/snapd/15534
loop3  64897024        0     - /snap/gtk-common-themes/1535
loop4  32604160        0     - /snap/snapd/16292
sda   53687091200       -     -
├─sda1 52613349376 39128932352  26% /
└─sda2 1023410176        0     - [SWAP]

Les colonnes indiquent :

  • SIZE : La taille totale en octets
  • FSAVAIL : L'espace disponible sur le système de fichiers
  • FSUSE% : Le pourcentage d'utilisation du système de fichiers
  • MOUNTPOINT : L'emplacement où le périphérique est monté

Identifier les clés USB

Lorsque vous connectez une clé USB, vous pouvez utiliser lsblk pour l'identifier rapidement en recherchant les périphériques amovibles :

lsblk -o NAME,SIZE,TYPE,RM,MOUNTPOINT

Dans le résultat, recherchez les périphériques dont la valeur de RM (amovible) est 1 :

NAME   SIZE TYPE RM MOUNTPOINT
loop0  55.5M loop  0 /snap/core18/2128
loop1  55.4M loop  0 /snap/core18/2284
loop2  43.6M loop  0 /snap/snapd/15534
loop3  61.9M loop  0 /snap/gtk-common-themes/1535
loop4  31.1M loop  0 /snap/snapd/16292
sda     50G disk  0
├─sda1   49G part  0 /
└─sda2  976M part  0 [SWAP]

Si une clé USB était connectée, elle apparaîtrait généralement comme un disque supplémentaire (tel que sdb) avec une valeur RM de 1.

Trouver les numéros de série des périphériques

Pour l'inventaire matériel ou le diagnostic de pannes, vous pourriez avoir besoin de récupérer les numéros de série des périphériques. La commande lsblk peut afficher cette information :

lsblk -o NAME,SIZE,TYPE,SERIAL

Le résultat inclura les numéros de série des périphériques qui fournissent cette information :

NAME   SIZE TYPE SERIAL
loop0  55.5M loop
loop1  55.4M loop
loop2  43.6M loop
loop3  61.9M loop
loop4  31.1M loop
sda     50G disk ABCD1234
├─sda1   49G part
└─sda2  976M part

Notez que tous les périphériques ne renvoient pas de numéro de série, et que les périphériques virtuels comme les boucles (loop) n'en possèdent généralement pas.

Analyser les attributs de performance des disques

Pour afficher les caractéristiques de performance des disques, vous pouvez utiliser l'option --topology ou -t :

lsblk --topology

Le résultat comprend des informations topologiques telles que l'alignement et la taille d'E/S optimale :

NAME   ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED     RQ-SIZE  RA WSAME
loop0          0    512      0     512     512    1 mq-deadline     256 128    0B
loop1          0    512      0     512     512    1 mq-deadline     256 128    0B
loop2          0    512      0     512     512    1 mq-deadline     256 128    0B
loop3          0    512      0     512     512    1 mq-deadline     256 128    0B
loop4          0    512      0     512     512    1 mq-deadline     256 128    0B
sda            0    512      0     512     512    1 mq-deadline     256 128    0B
├─sda1         0    512      0     512     512    1 mq-deadline     256 128    0B
└─sda2         0    512      0     512     512    1 mq-deadline     256 128    0B

Ces informations peuvent s'avérer utiles pour l'optimisation des performances et la résolution des problèmes liés aux entrées/sorties (I/O).

Ces exemples pratiques démontrent à quel point la commande lsblk est polyvalente pour les tâches quotidiennes d'administration système. En maîtrisant ces techniques, vous serez en mesure de collecter rapidement des informations cruciales sur les périphériques de stockage de votre système Linux.

Résumé

Dans ce laboratoire, nous avons exploré la commande Linux lsblk, un outil puissant pour lister et afficher des informations sur les périphériques de bloc de votre système. Nous avons abordé plusieurs aspects importants de la commande :

  • L'utilisation de base de lsblk pour afficher une liste arborescente de tous les périphériques de bloc.
  • La manière d'afficher des informations complémentaires, incluant les détails du système de fichiers, le propriétaire/les permissions, ainsi que la sélection personnalisée des colonnes.
  • Les techniques de filtrage pour cibler des types de périphériques spécifiques ou adapter le format d'affichage.
  • Des scénarios d'utilisation avancés destinés aux tâches d'administration système.

La commande lsblk est un outil indispensable pour les administrateurs et utilisateurs de systèmes Linux qui ont besoin de gérer des dispositifs de stockage. Ses options flexibles vous permettent d'obtenir rapidement l'information exacte dont vous avez besoin concernant les disques, les partitions et les autres périphériques de bloc de votre machine.

En maîtrisant la commande lsblk, vous pouvez plus efficacement :

  • Identifier et gérer les périphériques de stockage.
  • Surveiller l'utilisation du disque et l'espace disponible.
  • Résoudre les problèmes liés au stockage.
  • Documenter la configuration du stockage de votre système.

Ces compétences constituent une base solide pour aborder des tâches d'administration système Linux plus avancées relatives à la gestion du stockage.

Aide-mémoire des commandes Linux