lsblk-commando: opbouw van schijven en partities en UUID controleren

TestomgevingRHEL-familieAlmaLinux 9.8root-account
Commando's voor schijven · mountslsblkLocatie/usr/bin/lsblk

Het commando lsblk toont de schijven en partities die op een server zijn aangesloten en hun koppelpunten als boomstructuur, en laat in één keer de schijfgrootte, het type bestandssysteem en zelfs de UUID zien. Toen we lsblk op een AlmaLinux 9-server uitvoerden, verschenen de loop-apparaten die door snap-pakketten waren aangemaakt vóór de schijf, dus filterden we ze weg met -e 7. Daarna controleerden we met -f het xfs-bestandssysteem en de UUID van de rootpartitie.

De schijfgroottes en UUID's in de uitvoer hieronder zijn voorbeeldwaarden.

1️⃣ De standaarduitvoer van het commando lsblk lezen

Op een server waar programma's met snap zijn geïnstalleerd, toont lsblk zonder opties vóór de schijf een rij loop-apparaten die per pakketversie zijn gekoppeld. Geef daarom met -e het apparaatnummer van loop-apparaten op, 7, om ze weg te laten.

lsblk -e 7
NAME        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 in de kolom NAME is de schijf. nvme0n1p1 tot en met nvme0n1p4, daaronder verbonden met [├─] en [└─], zijn de partities waarin deze schijf is verdeeld. Het is net als het verdiepingenbord bij de ingang van een gebouw, waarop onder de naam van het gebouw staat wat er op elke verdieping zit.

In de kolom TYPE verschijnen schijven als [disk] en partities als [part], en de kolom MOUNTPOINTS toont de map waarin elke partitie is gekoppeld. Op de server die we controleerden, was de rootpartitie nvme0n1p4 gekoppeld aan / en nvme0n1p3 aan /boot. nvme0n1p1 van 1M is een BIOS-bootpartitie die wordt gebruikt om op te starten vanaf een GPT-schijf, dus er is geen koppelpunt.

MAJ:MIN zijn het major- en minornummer die de kernel aan een apparaat toekent; loop-apparaten hebben 7 en de NVMe-schijf die we controleerden had 259. RM geeft met 1 of 0 aan of een apparaat verwisselbaar is, en RO of het alleen-lezen is.

SIZE lees je gemakkelijk als vrije ruimte, maar SIZE is de totale grootte van de schijf of partitie. De vrije ruimte van een bestandssysteem controleer je in de kolom FSAVAIL, die verschijnt als je -f toevoegt.

In het diagram hieronder kun je stap voor stap vergelijken hoe de regels en kolommen in de uitvoer per optie veranderen.

🧭 lsblk-uitvoer per optie: schijven en partities
Uitlegdiagram
⚙️ Optie
$ lsblk -f -d -p -e 7
Apparaatnaam
Grootte
Bestandssysteem
Koppelpunt
/dev/nvme0n1
80G
├─/dev/nvme0n1p1
1M
├─/dev/nvme0n1p2
200M
vfat, 5A1E-…
/boot/efi
├─/dev/nvme0n1p3
1G
xfs, 6d2f…
/boot
└─/dev/nvme0n1p4
78.8G
xfs, 2b9e…
/
🖥️ Wat op het scherm verschijnt
1 schijfregel en 4 partitieregels, 7 standaardkolommen (NAME t/m MOUNTPOINTS)
1 schijfregel en 4 partitieregels, 8 bestandssysteemkolommen (FSTYPE, UUID, FSAVAIL enz.)
Alleen 1 schijfregel, 7 standaardkolommen
1 schijfregel en 4 partitieregels, namen beginnen met /dev/
Zonder opties vertakken de partities zich onder de schijf. Grootte en koppelpunt worden ook getoond.
-f toont in plaats van de grootte het type bestandssysteem, de UUID en de vrije ruimte. De schijf nvme0n1 en nvme0n1p1, die geen bestandssysteem heeft, blijven leeg.
-d laat de partitieregels weg en toont alleen de schijfregel.
Met -p komt /dev/ voor de apparaatnamen, zodat je de getoonde paden direct aan andere commando's kunt doorgeven.

2️⃣ lsblk -f: bestandssystemen en UUID's controleren

De standaarduitvoer toont geen type bestandssysteem, dus controleer je met -f hoe een partitie is geformatteerd. -f toont acht kolommen: NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% en MOUNTPOINTS.

lsblk -f -e 7
NAME        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% /

Bij het uitvoeren bleken de root- en /boot-partitie xfs te zijn, en /boot/efi vfat in de FAT16-versie. De schijf nvme0n1 en nvme0n1p1 hebben geen bestandssysteem en bleven daarom leeg. De UUID is een uniek nummer dat elk bestandssysteem krijgt; in /etc/fstab geef je daarmee de te koppelen partitie op via de UUID in plaats van via de apparaatnaam.

Bestandssysteeminformatie controleer je het nauwkeurigst met het blkid-commando.

FSAVAIL en FSUSE% zijn de vrije ruimte en het gebruikspercentage van een gekoppeld bestandssysteem. Bij partities die niet gekoppeld zijn, verschijnen geen waarden. Het df-commando toont alleen de grootte en het gebruik van gekoppelde bestandssystemen. lsblk toont daarnaast de opbouw van schijven en partities, of ze nu gekoppeld zijn of niet.

3️⃣ lsblk -o om kolommen te kiezen en -b voor bytes

Schrijf je na -o kolomnamen, gescheiden door komma's, dan verschijnen alleen die kolommen in die volgorde. De beschikbare kolomnamen staan in de lijst aan het eind van [lsblk --help].

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT -e 7
NAME         SIZE FSTYPE MOUNTPOINT
nvme0n1       80G        
├─nvme0n1p1    1M        
├─nvme0n1p2  200M vfat   /boot/efi
├─nvme0n1p3    1G xfs    /boot
└─nvme0n1p4 78.8G xfs    /

MOUNTPOINT toont maar één koppelpunt, terwijl MOUNTPOINTS ze allemaal toont als hetzelfde bestandssysteem op meerdere plaatsen is gekoppeld. Om na de standaardkolommen er maar één toe te voegen, zet je + voor de kolomnaam, zoals in [-o +UUID].

-b toont groottes als gehele getallen in bytes. Om met het oog te vergelijken zijn de standaardeenheden makkelijker te lezen, dus -b past bij scripts die groottes berekenen of vergelijken.

lsblk -b -o NAME,SIZE -e 7
NAME               SIZE
nvme0n1     85899345920
├─nvme0n1p1     1048576
├─nvme0n1p2   209715200
├─nvme0n1p3  1073741824
└─nvme0n1p4 84613774848

G en M in de standaarduitvoer zijn eenheden van 1.024, dus de schijf van 80G verschijnt als 85.899.345.920 bytes.

4️⃣ lsblk -d voor een schijvenlijst en -p voor volledige paden

Op een server met meerdere schijven lopen de partitieregels door elkaar en is de schijvenlijst lastig te lezen, dus laat je met -d de partities weg en toon je alleen de schijfregels.

lsblk -d -e 7
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0    0  80G  0 disk 

In de uitvoer bleef alleen de ene regel van de schijf nvme0n1 over, en de vier partitieregels eronder verschenen niet.

Met -p komt /dev/ voor de apparaatnamen en verschijnen ze als volledige paden. Deze paden kun je direct doorgeven aan andere commando's zoals mount.

lsblk -p -e 7
NAME             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 /

Alleen de kolom NAME verandert in volledige paden, van /dev/nvme0n1 tot /dev/nvme0n1p4; de overige kolommen zijn gelijk aan de standaarduitvoer.

Geef je een apparaatpad als argument, dan worden alleen dat apparaat en de partities eronder getoond; geef je een partitiepad, dan verschijnt alleen de regel van die partitie.

lsblk /dev/nvme0n1p4
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4    0 78.8G  0 part /

In de uitvoer verschijnt alleen de ene regel van nvme0n1p4, zonder schijfregel of vertakkingstekens. Met een apparaatpad dat niet bestaat, verscheen de fout [not a block device] en was de afsluitcode 32.

5️⃣ Uitvoer en opties van het commando lsblk voor scripts

Het is verleidelijk om de standaarduitvoer in scripts op te knippen, maar de kolomindeling van de standaarduitvoer en van -f kan in de toekomst veranderen. Geef in scripts daarom zelf de kolommen op met -o.

-n laat de kopregel weg en toont alleen de waarden. Dat past als je maar één waarde nodig hebt, zoals het type bestandssysteem van één partitie.

lsblk -no FSTYPE /dev/nvme0n1p4
xfs

Zonder kopregel verschijnt maar één woord, xfs, het type bestandssysteem van de rootpartitie. Je kunt het dus direct in een shellvariabele opslaan.

-P toont elke kolom op één regel in de vorm [naam=”waarde”]. In util-linux 2.37 op AlmaLinux 9 worden de namen al met alleen -P zo aangepast dat ze makkelijk als shellvariabelen te lezen zijn, zoals MAJ:MIN naar MAJ_MIN en FSUSE% naar FSUSE_PCT.

lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4
NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"

De drie opgegeven kolommen verschijnen op één regel in de volgorde NAME, FSTYPE, MOUNTPOINT. Alle waarden staan tussen dubbele aanhalingstekens.

-J toont de uitvoer in JSON. Zonder -d komen de partities in de array children onder de schijf. Samen met -b wordt alleen size een getal, en andere groottekolommen zoals FSAVAIL blijven tekenreeksen.

lsblk -J -d -o NAME,SIZE,TYPE -e 7
{
   "blockdevices": [
      {
         "name": "nvme0n1",
         "size": "80G",
         "type": "disk"
      }
   ]
}

Met -d bevat de array blockdevices alleen de schijf, en de array children verschijnt niet.

🔲 Opties van het commando lsblk

OptieKopiërenUitleg
-e, --excludeSluit apparaten met het opgegeven majornummer uit. Met 7 vallen loop-apparaten weg.
-f, --fsToont het type bestandssysteem, de UUID, de vrije ruimte en het gebruikspercentage.
-o, --outputToont alleen de met komma's opgegeven kolommen, in volgorde.
-b, --bytesToont de kolom SIZE als gehele getallen in bytes.
-d, --nodepsLaat partitieregels weg en toont alleen schijfregels.
-p, --pathsToont apparaatnamen als volledige paden die met /dev/ beginnen.
-n, --noheadingsLaat de kopregel weg en toont alleen de waarden.
-P, --pairsToont kolomnamen en waarden in paren op één regel.
-J, --jsonToont de uitvoer in JSON-formaat.
-a, --allToont ook lege apparaten met grootte 0.
OptieKopiërenUitleg
-I, --includeToont alleen apparaten met het opgegeven majornummer.
-l, --listToont de uitvoer als lijst in plaats van als boom.
-r, --rawToont de uitvoer in raw-formaat, zonder de kolommen uit te lijnen.
-i, --asciiToont de boomlijnen met ASCII-tekens.
-s, --inverseDraait de afhankelijkheden om en toont schijven onder de partities.
-S, --scsiToont alleen informatie over SCSI-apparaten.
-t, --topologyToont topologie-informatie zoals sectorgrootte en I/O-scheduler.
-m, --permsToont de eigenaar, groep en rechten van apparaten.
-x, --sortSorteert op de opgegeven kolom en toont de uitvoer als lijst.
-O, --output-allToont alle beschikbare kolommen.

🔲 Simulator voor het commando lsblk

In de simulator hieronder typ je de commando's van tot nu toe zelf in en zie je hoe de uitvoer per optie verandert.

Simulator voor het commando lsblkutil-linux 2.37.4
[root@server work]#
Met de toetsen ↑↓ haal je eerder ingetypte commando's terug.

🔢 FAQ & aanbevolen content

Ook met een gewoon account toonde -f UUID en FSAVAIL net zoals met het root-account. lsblk leest informatie uit sysfs en udev. Als er geen udev-informatie beschikbaar is, moet het het apparaat rechtstreeks lezen, en daarvoor zijn rootrechten nodig.

Vlak na het toevoegen of wisselen van een apparaat heeft udev misschien nog niet alle informatie verzameld. Voer dan udevadm settle uit en start lsblk opnieuw.

-a toont ook lege apparaten met grootte 0, dus gebruik je het om te controleren of er een apparaat in de standaarduitvoer ontbreekt. Op dezelfde server toonde -a één regel extra: een loop-apparaat van 0B waaraan niets was gekoppeld.

ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Laat zien dat je geen machine bent: 3   +   1   =