Commande Linux lsblk avec 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 blocs disponibles sur votre système. Les périphériques de blocs incluent les disques durs, les SSD, les lecteurs USB et autres supports de stockage. La commande lsblk présente ces informations dans un format clair, en arborescence, qui facilite la compréhension des relations entre les différents périphériques 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 les tailles de partitions ou de vérifier les points de montage, la commande lsblk fournit un moyen rapide et efficace de rassembler ces informations.

À la fin de ce laboratoire, vous serez capable d'utiliser la commande lsblk avec diverses options pour obtenir des informations détaillées sur les périphériques de stockage de votre système Linux.

Linux Commands Cheat Sheet

Utilisation de base de la commande lsblk

La commande lsblk signifie "list block devices" (lister les périphériques de blocs) et est utilisée pour afficher des informations sur tous les périphériques de blocs disponibles sur votre système Linux. Les périphériques de blocs sont des périphériques de stockage tels que les disques durs, les SSD et les lecteurs USB.

Commençons par exécuter la commande lsblk de base dans le terminal :

  1. Ouvrez votre terminal s'il n'est pas déjà ouvert.

  2. Tapez la commande suivante et appuyez sur Entrée :

lsblk

Vous devriez voir une sortie similaire à celle-ci :

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]

Cette sortie affiche tous les périphériques de blocs sur votre système, avec les colonnes suivantes :

  • NAME : Le nom du périphérique
  • MAJ:MIN : Numéros de périphérique majeur et mineur
  • RM : Indicateur amovible (1 signifie amovible, 0 signifie non amovible)
  • SIZE : La taille du périphérique
  • RO : Indicateur en lecture seule (1 signifie en lecture seule, 0 signifie en lecture-écriture)
  • TYPE : Type de périphérique (disk, partition, loop, etc.)
  • MOUNTPOINT : Où le périphérique est monté (le cas échéant)

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

  • Plusieurs périphériques loop utilisés par les paquets snap
  • Un périphérique 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 en arborescence dans la sortie facilite la visualisation des partitions qui appartiennent à quels disques. Par exemple, vous pouvez voir que sda1 et sda2 sont toutes deux des partitions du disque sda.

Maintenant que vous comprenez la sortie de base de la commande lsblk, explorons 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 blocs.

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

L'option -f affiche les informations sur le système de fichiers, y compris le type de système de fichiers, l'étiquette (label), l'UUID et le point de montage. Ceci est particulièrement utile lorsque vous devez identifier les périphériques par leur UUID ou vérifier quels types de systèmes de fichiers sont utilisés.

Exécutez la commande suivante dans votre terminal :

lsblk -f

Vous devriez voir une sortie similaire à celle-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]

La sortie inclut désormais des colonnes supplémentaires :

  • FSTYPE : Le type de système de fichiers (ext4, swap, squashfs, etc.)
  • LABEL : Toute étiquette (label) de système de fichiers qui a été attribuée
  • UUID : L'identifiant unique universel (UUID) pour le système de fichiers

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

L'option -m affiche les permissions et les informations sur le propriétaire des périphériques de blocs. Ceci est utile lors du dépannage des problèmes liés aux permissions.

Exécutez la commande suivante :

lsblk -m

Vous devriez voir une sortie comme celle-ci :

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 affichent :

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

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

L'option -o vous permet de spécifier quelles colonnes afficher. Ceci est utile lorsque vous n'avez besoin que de certaines informations et que vous souhaitez une sortie plus propre et plus ciblée.

Affichons uniquement les colonnes name, size et mountpoint :

lsblk -o NAME,SIZE,MOUNTPOINT

La sortie sera beaucoup plus simple :

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]

Cette sortie personnalisée facilite la concentration sur les seules informations dont vous avez besoin. Vous pouvez combiner plusieurs options pour obtenir exactement les informations souhaitées dans le format qui convient le mieux à vos besoins.

Filtrage des périphériques de blocs avec lsblk

Dans cette étape, nous allons apprendre à filtrer la sortie de la commande lsblk pour nous concentrer sur des types spécifiques de périphériques de blocs ou afficher des informations dans différents formats.

Filtrage par type de périphérique

La commande lsblk vous permet de filtrer les périphériques par leur type en utilisant l'option --type ou -t. Les types de périphériques courants incluent :

  • disk : Disques physiques
  • part : Partitions
  • loop : Périphériques loop
  • lvm : Volumes logiques

Pour afficher uniquement les périphériques de type disque, exécutez la commande suivante :

lsblk --type disk

La sortie affichera uniquement les disques principaux, sans leurs partitions :

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0   50G  0 disk

De même, pour afficher uniquement les périphériques de type partition, exécutez :

lsblk --type part

La sortie affichera uniquement les partitions :

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda1   8:1    0   49G  0 part /
sda2   8:2    0  976M  0 part [SWAP]

Affichage des chemins des périphériques

L'option --paths affiche les chemins complets des périphériques plutôt que simplement les noms des périphériques. Ceci est utile lorsque vous devez référencer les périphériques dans des scripts ou des commandes.

Exécutez la commande suivante :

lsblk --paths

La sortie inclura les chemins complets des périphériques :

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]

Affichage de la sortie au format JSON

L'option --json affiche les informations au format JSON, ce qui est utile pour le traitement programmatique ou lors de l'intégration avec d'autres outils.

Exécutez la commande suivante :

lsblk --json

La sortie 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]"
        }
      ]
    }
  ]
}

Combinaison d'options pour un contrôle précis

Vous pouvez combiner plusieurs options pour obtenir exactement les informations dont vous avez besoin. Par exemple, pour afficher uniquement les périphériques de type disque avec leurs chemins complets au format JSON :

lsblk --type disk --paths --json

La sortie sera une représentation JSON des seuls périphériques de type disque avec leurs chemins complets :

{
  "blockdevices": [
    {
      "name": "/dev/sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "50G",
      "ro": false,
      "type": "disk"
    }
  ]
}

Ces options de filtrage rendent la commande lsblk très flexible et vous permettent d'obtenir précisément les informations dont vous avez besoin sur les périphériques de blocs de votre système.

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

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

Vérification de l'utilisation du disque et de l'espace disponible

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

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

La sortie 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 affichent :

  • SIZE : La taille totale en octets
  • FSAVAIL : Espace disponible sur le système de fichiers
  • FSUSE% : Pourcentage du système de fichiers utilisé
  • MOUNTPOINT : Où le périphérique est monté

Identification des lecteurs USB

Lorsque vous branchez un lecteur USB, vous pouvez utiliser lsblk pour l'identifier rapidement en recherchant les périphériques amovibles :

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

Dans la sortie, recherchez les périphériques avec la valeur RM (amovible) de 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 vous aviez un lecteur USB connecté, il apparaîtrait généralement comme un disque supplémentaire (tel que sdb) avec une valeur RM de 1.

Recherche des numéros de série des périphériques

Pour l'inventaire du matériel ou le dépannage, vous devrez peut-être trouver les numéros de série des périphériques. La commande lsblk peut afficher ces informations :

lsblk -o NAME,SIZE,TYPE,SERIAL

La sortie 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 signalent pas les numéros de série, et les périphériques virtuels comme les périphériques loop n'ont généralement pas de numéros de série.

Analyse des attributs de performance du disque

Pour afficher les attributs de performance du disque, vous pouvez utiliser l'option --topology ou -t :

lsblk --topology

La sortie inclut des informations de topologie 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 être utiles pour l'optimisation des performances et le dépannage des problèmes liés aux E/S.

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 pouvez rapidement rassembler des informations importantes sur les périphériques de stockage de votre système Linux.

Résumé

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

  • Utilisation de base de lsblk pour afficher une liste arborescente de tous les périphériques de blocs
  • Comment afficher des informations supplémentaires, y compris les détails du système de fichiers, le propriétaire/les permissions et les sélections de colonnes personnalisées
  • Techniques de filtrage pour se concentrer sur des types de périphériques spécifiques ou des formats d'affichage
  • Scénarios d'utilisation avancée pour les tâches d'administration système

La commande lsblk est un outil essentiel pour les administrateurs et les utilisateurs de systèmes Linux qui ont besoin de gérer les périphériques de stockage. Ses options flexibles vous permettent d'obtenir rapidement les informations exactes dont vous avez besoin sur les disques, les partitions et autres périphériques de blocs de votre système.

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
  • Dépanner les problèmes liés au stockage
  • Documenter la configuration du stockage de votre système

Ces compétences constituent une base importante pour les tâches d'administration système Linux plus avancées liées à la gestion du stockage.

Linux Commands Cheat Sheet