Polecenie lsblk: struktura dysków i partycji oraz sprawdzanie UUID
Polecenie lsblk wyświetla w postaci drzewa dyski i partycje podłączone do serwera oraz ich punkty montowania, a przy tym od razu pokazuje rozmiar dysków, typ systemu plików, a nawet UUID. Po uruchomieniu lsblk na serwerze z AlmaLinux 9 urządzenia loop utworzone przez pakiety snap pojawiły się przed dyskiem, więc odfiltrowaliśmy je za pomocą -e 7. Następnie za pomocą -f sprawdziliśmy system plików xfs i UUID partycji głównej.
Rozmiary dysków i UUID w poniższych wynikach to przykładowe wartości.
1️⃣ Jak czytać podstawowy wynik polecenia lsblk
Na serwerze, na którym programy zainstalowano przez snap, lsblk bez opcji wyświetla przed dyskiem szereg urządzeń loop zamontowanych dla każdej wersji pakietu. Dlatego za pomocą -e podaje się numer urządzenia loop, czyli 7, aby je pominąć.
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 w kolumnie NAME to dysk. nvme0n1p1–nvme0n1p4, połączone pod nim znakami [├─] i [└─], to partycje, na które podzielony jest ten dysk. To tak jak tablica pięter przy wejściu do budynku, na której pod nazwą budynku wypisano, co znajduje się na każdym piętrze.
W kolumnie TYPE dyski pojawiają się jako [disk], a partycje jako [part], a kolumna MOUNTPOINTS pokazuje katalog, w którym zamontowana jest dana partycja. Na sprawdzanym serwerze partycja główna nvme0n1p4 była zamontowana w /, a nvme0n1p3 w /boot. nvme0n1p1 o rozmiarze 1M to partycja rozruchowa BIOS używana do uruchamiania systemu z dysku GPT, dlatego nie ma punktu montowania.
MAJ:MIN to numery główny i poboczny, które jądro nadaje urządzeniu; urządzenia loop mają 7, a sprawdzany dysk NVMe miał 259. RM pokazuje wartością 1 lub 0, czy urządzenie jest wymienne, a RO, czy jest tylko do odczytu.
Łatwo odczytać SIZE jako wolne miejsce, ale SIZE to całkowity rozmiar dysku lub partycji. Wolne miejsce w systemie plików sprawdza się w kolumnie FSAVAIL, która pojawia się po dodaniu -f.
Na poniższym diagramie można krok po kroku porównać, jak zmieniają się wiersze i kolumny wyniku w zależności od opcji.
2️⃣ lsblk -f: sprawdzanie systemów plików i UUID
Podstawowy wynik nie pokazuje typu systemu plików, dlatego to, jak sformatowano partycję, sprawdza się za pomocą -f. -f wyświetla osiem kolumn: NAME, FSTYPE, FSVER, LABEL, UUID, FSAVAIL, FSUSE% i 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% /Po uruchomieniu okazało się, że partycje główna i /boot mają xfs, a /boot/efi to vfat w wersji FAT16. Dysk nvme0n1 i nvme0n1p1 nie mają systemu plików, dlatego pozostały puste. UUID to unikalny numer nadawany każdemu systemowi plików; w /etc/fstab używa się go, aby wskazać partycję do zamontowania przez UUID zamiast nazwy urządzenia.
Do najdokładniejszego sprawdzania informacji o systemie plików służy polecenie blkid.
FSAVAIL i FSUSE% to wolne miejsce i procent zajętości zamontowanego systemu plików. Dla niezamontowanych partycji wartości się nie pojawiają. Polecenie df wyświetla tylko rozmiar i zajętość zamontowanych systemów plików. lsblk pokazuje dodatkowo strukturę dysków i partycji, niezależnie od tego, czy są zamontowane.
3️⃣ lsblk -o do wyboru kolumn i -b do bajtów
Jeśli po -o wpiszesz nazwy kolumn oddzielone przecinkami, pojawią się tylko te kolumny, w tej kolejności. Dostępne nazwy kolumn znajdują się na liście na końcu [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 wyświetla tylko jeden punkt montowania, a MOUNTPOINTS wszystkie, gdy ten sam system plików jest zamontowany w kilku miejscach. Aby dodać tylko jedną kolumnę za podstawowymi, wstaw + przed nazwą kolumny, jak w [-o +UUID].
-b wyświetla rozmiary jako liczby całkowite w bajtach. Przy porównywaniu na oko podstawowe jednostki są czytelniejsze, dlatego -b pasuje do skryptów, które obliczają lub porównują rozmiary.
lsblk -b -o NAME,SIZE -e 7NAME SIZE
nvme0n1 85899345920
├─nvme0n1p1 1048576
├─nvme0n1p2 209715200
├─nvme0n1p3 1073741824
└─nvme0n1p4 84613774848G i M w podstawowym wyniku to jednostki 1024, dlatego dysk 80G pojawia się jako 85 899 345 920 bajtów.
4️⃣ lsblk -d do listy dysków i -p do pełnych ścieżek
Na serwerze z kilkoma dyskami wiersze partycji mieszają się i utrudniają odczytanie listy dysków, dlatego za pomocą -d pomija się partycje i wyświetla tylko wiersze dysków.
lsblk -d -e 7NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 80G 0 disk W wyniku został tylko jeden wiersz dysku nvme0n1, a cztery wiersze partycji pod nim się nie pojawiły.
Z -p przed nazwami urządzeń pojawia się /dev/ i są one wyświetlane jako pełne ścieżki. Te ścieżki można przekazać bez zmian innym poleceniom, takim jak 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 /Tylko kolumna NAME zmienia się na pełne ścieżki, od /dev/nvme0n1 do /dev/nvme0n1p4, a pozostałe kolumny są takie same jak w podstawowym wyniku.
Jeśli jako argument podasz ścieżkę urządzenia, wyświetlone zostaną tylko to urządzenie i partycje pod nim; jeśli podasz ścieżkę partycji, pojawi się tylko wiersz tej partycji.
lsblk /dev/nvme0n1p4NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1p4 259:4 0 78.8G 0 part /W wyniku pojawia się tylko jeden wiersz nvme0n1p4, bez wiersza dysku i znaków rozgałęzień. Po podaniu ścieżki nieistniejącego urządzenia pojawił się błąd [not a block device], a kod wyjścia wynosił 32.
5️⃣ Wynik i opcje polecenia lsblk do skryptów
Kusi, by w skryptach wycinać fragmenty podstawowego wyniku, ale układ kolumn podstawowego wyniku i -f może się w przyszłości zmienić, dlatego w skryptach kolumny podaje się samodzielnie za pomocą -o.
-n pomija wiersz nagłówka i wyświetla tylko wartości, więc pasuje, gdy potrzebna jest jedna wartość, na przykład typ systemu plików jednej partycji.
lsblk -no FSTYPE /dev/nvme0n1p4xfsBez wiersza nagłówka pojawia się tylko jedno słowo, xfs, czyli typ systemu plików partycji głównej, więc można je od razu zapisać w zmiennej powłoki.
-P wyświetla każdą kolumnę w jednym wierszu w postaci [nazwa=”wartość”]. W util-linux 2.37 w AlmaLinux 9 samo dodanie -P zmienia nazwy tak, by łatwo było je odczytać jako zmienne powłoki, na przykład MAJ:MIN na MAJ_MIN i FSUSE% na FSUSE_PCT.
lsblk -P -o NAME,FSTYPE,MOUNTPOINT /dev/nvme0n1p4NAME="nvme0n1p4" FSTYPE="xfs" MOUNTPOINT="/"Trzy podane kolumny pojawiają się w jednym wierszu w kolejności NAME, FSTYPE, MOUNTPOINT. Wszystkie wartości są w cudzysłowach.
-J wyświetla wynik w formacie JSON. Bez -d partycje trafiają do tablicy children pod dyskiem. Razem z -b tylko size staje się liczbą, a inne kolumny rozmiaru, takie jak FSAVAIL, pozostają ciągami znaków.
lsblk -J -d -o NAME,SIZE,TYPE -e 7{
"blockdevices": [
{
"name": "nvme0n1",
"size": "80G",
"type": "disk"
}
]
}Z -d tablica blockdevices zawiera tylko dysk, a tablica children się nie pojawia.
🔲 Opcje polecenia lsblk
| Opcja | Kopiuj | Opis |
|---|---|---|
| -e, --exclude | Wyklucza urządzenia o podanym numerze głównym. Po podaniu 7 urządzenia loop zostają pominięte. | |
| -f, --fs | Wyświetla typ systemu plików, UUID, wolne miejsce i procent zajętości. | |
| -o, --output | Wyświetla po kolei tylko kolumny podane jako lista oddzielona przecinkami. | |
| -b, --bytes | Wyświetla kolumnę SIZE jako liczby całkowite w bajtach. | |
| -d, --nodeps | Pomija wiersze partycji i wyświetla tylko wiersze dysków. | |
| -p, --paths | Wyświetla nazwy urządzeń jako pełne ścieżki zaczynające się od /dev/. | |
| -n, --noheadings | Pomija wiersz nagłówka i wyświetla tylko wartości. | |
| -P, --pairs | Wyświetla nazwy kolumn i wartości parami w jednym wierszu. | |
| -J, --json | Wyświetla wynik w formacie JSON. | |
| -a, --all | Wyświetla także puste urządzenia o rozmiarze 0. |
| Opcja | Kopiuj | Opis |
|---|---|---|
| -I, --include | Wyświetla tylko urządzenia o podanym numerze głównym. | |
| -l, --list | Wyświetla wynik w formie listy zamiast drzewa. | |
| -r, --raw | Wyświetla wynik w formacie raw, bez wyrównywania kolumn. | |
| -i, --ascii | Wyświetla linie drzewa znakami ASCII. | |
| -s, --inverse | Odwraca zależności i wyświetla dyski pod partycjami. | |
| -S, --scsi | Wyświetla tylko informacje o urządzeniach SCSI. | |
| -t, --topology | Wyświetla informacje o topologii, takie jak rozmiar sektora i planista we/wy. | |
| -m, --perms | Wyświetla właściciela, grupę i uprawnienia urządzeń. | |
| -x, --sort | Sortuje według podanej kolumny i wyświetla wynik w formie listy. | |
| -O, --output-all | Wyświetla wszystkie dostępne kolumny. |
🔲 Symulator polecenia lsblk
W symulatorze poniżej wpiszesz samodzielnie dotychczasowe polecenia i sprawdzisz, jak zmienia się wynik przy każdej opcji.
🔢 FAQ & polecane treści
Linux · Swap
Konfiguracja pamięci swap (Swap Memory)
Jak utworzyć pamięć swap jako partycję lub jako plik za pomocą poleceń mkswap i swapon.
Linux · Dysk
Polecenie dd w Linuksie
Podstawowe użycie, opcje i przykłady polecenia dd, które służy do klonowania dysków i partycji lub tworzenia plików obrazów.
Dysk · Pojęcie
Czym jest sektor dysku?
Wyjaśnia podstawową budowę dysku twardego i czym jest sektor dysku, czyli podział nośnika danych na jednostki o stałym rozmiarze.
ℹ️ Informacja o linkach partnerskich
Treści tej witryny zawierają linki partnerskie. Jeśli odwiedzający kupi produkt lub usługę przez taki link, witryna otrzymuje od sprzedawcy prowizję. Kwota płacona przy tym przez kupującego (podczas promocji spada↓) nie wzrasta. Podane ceny, rabaty i dostępność odnoszą się do chwili pisania i mogą różnić się od stanu faktycznego, dlatego przed zakupem sprawdź je u sprzedawcy. Produkty wybieramy i oceniamy według własnych kryteriów, a prowizja nie wpływa ani na kolejność prezentacji, ani na treść ocen.