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]
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.