Scroll to navigation

LSBLK(8) Administracja systemem LSBLK(8)

NAZWA

lsblk - wypisuje urządzenia blokowe

SKŁADNIA

lsblk [opcje] [urządzenie...]

OPIS

lsblk wypisuje informacje o wszystkich dostępnych lub podanych urządzeniach blokowych. Polecenie lsblk odczytuje system plików sysfs i udev db w celu zebrania informacji. Jeśli baza udev jest niedostępna lub skompilowano lsblk bez obsługi udev, stara się on odczytać etykiety, UUID-y i typy systemów plików z urządzenia blokowego. W tym przypadku wymagane są uprawnienia roota.

Domyślnie, polecenie wypisuje informacje o wszystkich urządzeniach (z wyjątkiem dysków RAM). To samo urządzenie może pojawić się ponownie w drzewie, jeśli jest związane z innymi urządzeniami. W przypadku bardziej skomplikowanych sytuacji, zaleca się korzystanie z opcji --merge, aby łączyć grupy urządzeń i opisywać złożone relacje N:M.

Wyjście w postaci drzewa (lub tablica children[] w wyjściu JSON) jest włączane tylko wtedy, gdy w wyjściu obecna jest kolumna NAME albo gdy użyto opcji wiersza polecenia --tree. Zob. też opcje --nodeps i --list, sterujące formatowaniem drzewa.

Domyślny wynik, jak również domyślny wynik z opcji takich jak --fs i --topology może ulec zmianie. Gdy to tylko możliwe, należy unikać używania domyślnych wyników w swoich skryptach. Proszę zawsze jawnie określać oczekiwane kolumny opcją --output lista-kolumn oraz --list w środowiskach wymagającego stabilnego wyniku.

Wszystkie dostępne kolumny wypisze polecenie lsblk --list-columns.

Proszę zauważyć, że lsblk może być wykonane w momencie, gdy udev nie ma jeszcze wszystkich informacji o ostatnio dodanych lub zmodyfikowanych urządzeniach. W takim przypadku, zaleca się użycie najpierw udevadm settle, aby dokonać synchronizacji z udev.

Relacja pomiędzy urządzeniem blokowym a systemem plików nie zawsze jest jak jeden do jednego. System plików może używać więcej urządzeń blokowych lub ten sam system plików może być dostępny w kilku lokalizacjach. Jest to powód, dla którego lsblk udostępnia kolumny MOUNTPOINT i MOUNTPOINTS (odpowiednio: punkt i punkt*y* montowania). Kolumna MOUNTPOINT wyświetla pojedynczy punkt montowania (zwykle ostatnio zamontowany system plików), a kolumna MOUNTPOINTS wyświetla wielowierszową komórkę zawierającą wszystkie punkty montowania związane z urządzeniem.

OPCJE

-A, --noempty

Nie wypisuje pustych urządzeń.

-a, --all

Wyłącza wszelkie wbudowane filtry i wypisuje również wszystkie puste urządzenia oraz dyski RAM.

-b, --bytes

Wypisuje rozmiary w bajtach, zamiast w formacie czytelnym dla ludzi.

Domyślnie jednostką w której pokazywane są rozmiary jest bajt, a przedrostki jednostek są wielokrotnościami 2^10 (1024). Symbole jednostek są pokazywane w skróconej formie, aby poprawić czytelność, poprzez pokazanie jedynie pierwszej litery np. "1 KiB" i "1 MiB" stają się odpowiednio: "1 K" i "1 M", tj. cząstka "iB", będąca częścią nazw jednostek, jest celowo pomijana.

-H, --list-columns

Wypisuje dostępne kolumny, w połączeniu z --json lub --raw daje wynik w formacie czytelnym maszynowo.

-D, --discard

Wypisuje informacje o funkcjach "discard" (TRIM, UNMAP) przy każdym urządzeniu.

-d, --nodeps

Nie wypisuje urządzeń nadrzędnych ani podrzędnych. Przykładowo lsblk --nodeps /dev/sda wypisze informacje tylko o urządzeniu sda.

-E, --dedup kolumna

Kolumna jest kluczem deduplikującym, służącym do usunięcia duplikatów z wynikowego drzewa. Jeśli dla urządzenia nie jest dostępny klucz, lub urządzenie jest partycją, a nadrzędne urządzenie zawierające cały dysk udostępnia ten sam klucz, to urządzenie zawsze zostanie wyświetlone.

Typowym zastosowaniem jest uniknięcie duplikatów w systemach z urządzeniami dostępnymi w wielu ścieżkach, np. za pomocą opcji -E WWN.

-e, --exclude lista

Pomija urządzenia podane w liście urządzeń, określone głównymi numerami urządzeń i oddzielone przecinkami. Domyślnie pomijane są dyski RAM (główny numer urządzenia równy 1), jeśli nie podano opcji --all. Filtr ma zastosowanie jedynie do urządzeń najwyższego poziomu. Może być to mylące, w przypadku formatu wynikowego --list, w którym hierarchia urządzeń nie jest oczywista.

-f, --fs

Wypisuje informacje o systemach plików. Jest to odpowiednik -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. Pełne informacje o systemach plików i macierzach RAID są udostępniane przez polecenie blkid(8).

--hyperlink[=tryb]

Wypisuje ścieżki punktów montowań jako odnośniki na terminalu. Tryb można ustawić na "always" (zawsze), "never" (nigdy) lub "auto". Opcjonalny argument kiedy można ustawić na "auto", "never" lub "always". Jeśli pominie się argument kiedy, to domyślnie przyjmuje wartość "auto". Ustawienie "auto" oznacza, że odnośniki będą używane tylko wtedy, gdy wyjściem jest terminal.

-I, --include lista

Obejmuje urządzenia podane w liście urządzeń, określone głównymi numerami urządzeń i oddzielone przecinkami. Filtr ma zastosowanie jedynie do urządzeń najwyższego poziomu. Może być to mylące w przypadku formatu wynikowego --list, w którym hierarchia urządzeń nie jest oczywista.

-i, --ascii

Do formatowania drzewa używa znaków ASCII.

-J, --json

Używa formatu wyjściowego JSON. Zdecydowanie zaleca się używanie opcji --output oraz -tree, jeśli są potrzebne. Proszę zauważyć, że children[] jest używane tylko, gdy korzysta się z opcji --tree lub kolumny NAME.

-l, --list

Wypisuje wynik w postaci listy. Brak w nim informacji o powiązaniach pomiędzy urządzeniami, a od wersji 2.34 każde urządzenie jest pokazane tylko raz, o ile nie podano opcji --pairs lub --raw (wyniki nadające się do automatycznego przetwarzania są wstecznie kompatybilne).

-M, --merge

Grupuje urządzenia nadrzędne dla poddrzew, aby uczynić wynik czytelniejszym w przypadku urządzeń RAID i urządzeń o wielu ścieżkach. Wymagany jest wynik w postaci drzewa.

-m, --perms

Wypisuje informacje o posiadaczu, grupie i trybie urządzenia. Jest to odpowiednik -o NAME,SIZE,OWNER,GROUP,MODE.

-N, --nvme

Wypisuje informacje tylko o urządzeniach NVMe.

-v, --virtio

Wypisuje informacje tylko o urządzeniach virtio.

-n, --noheadings

Nie wypisuje nagłówka.

-o, --output lista

Określa wypisywane kolumny. Listę obsługiwanych kolumn można poznać podając opcję --list-columns. Kolumny mogą mieć wpływ na wynik w postaci drzewa. Domyślnie drzewo jest używane do kolumny "NAME" (zob. też --tree).

Domyślną listę kolumn można rozszerzyć, jeśli listę poda się w formacie +lista (np. lsblk -o +UUID).

-O, --output-all

Wypisuje wszystkie dostępne kolumny.

-P, --pairs

Tworzy wynik w formie par klucz="wartość". Wynikowe wiersze są wciąż posortowane wg powiązań między urządzeniami. Wszystkie potencjalnie niebezpieczne wartości znaków są cytowane szesnastkowo (\x<kod>). Zob. też opcję --shell.

-p, --paths

Wypisuje pełne ścieżki urządzeń.

-Q*, --filter wyrażenie

Wypisuje jedynie urządzenia, które spełniają warunki podane w wyrażeniu. Filtr jest stosowany przed zebraniem danych do wszystkich kolumn wyjściowych przez lsblk. Z systemu pobierane są jedynie dane, konieczne do leniwego sprawdzenia wyrażenia. Takie podejście może poprawić wydajność w porównaniu do późniejszego filtrowania, które często jest dokonywane narzędziami takimi jak grep(1).

Funkcja ta jest EKSPERYMENTALNA. Zob. też scols-filter(5). Oto przykład wyłączający sda i sdb, lecz wypisujący wszystko inne ("!~" jest operatorem wyrażenia regularnego, dopasowującym odwrotność):

lsblk --filter 'NAME !~ "sd[ab]"'

--highlight wyrażenie

Koloruje wiersze pasujące do wyrażenia. Funkcja ta jest EKSPERYMENTALNA. Zob. też scols-filter(5).

--ct nazwa [: parametr [: funkcja ]]

Definiuje własny licznik. Liczniki są wypisywane po standardowych wynikach. Nazwa jest własną nazwą licznika, opcjonalny parametr jest nazwą zliczanej kolumny, a opcjonalna funkcja określa funkcję zliczającą, jedną z obsługiwanych: count, min, max lub sum. Domyślną jest count.

Jeśli nie poda się parametru, licznik zliczy liczbę wierszy. Funkcja ta jest EKSPERYMENTALNA. Zob. też --ct-filter.

Na przykład --ct MójLicznik:SIZE:sum zsumuje wielkości rozmiaru (SIZE) ze wszystkich wierszy; natomiast aby zliczyć liczbę dysków SATA można użyć:

lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Liczba urządzeń SATA"

--ct-filter wyrażenie

Definiuje ograniczenia dla kolejnego licznika. Funkcja ta jest EKSPERYMENTALNA. Zob. też --ct i scols-filter(5). Na przykład, aby zsumować rozmiary urządzeń według typu:

lsblk --ct-filter 'TYPE=="part"' --ct Partycje:SIZE:sum \

--ct-filter 'TYPE=="disk"' --ct CałeDyski:SIZE:sum

-r, --raw

Wypisuje wynik w formacie surowym. Wynikowe wiersze są wciąż posortowane wg powiązań między urządzeniami. Wszystkie potencjalnie niebezpieczne znaki są cytowane szesnastkowo (\x<kod>) w kolumnach NAME, KNAME, LABEL, PARTLABEL i MOUNTPOINT.

-S, --scsi

Wypisuje informacje jedynie o urządzeniach SCSI. Wszystkie partycje, urządzenia podrzędne i kieszenie na urządzenia są ignorowane.

-s, --inverse

Wypisuje zależności w odwróconej kolejności. Jeśli zażądano formatu --list, to wiersze są wciąż posortowane wg powiązań między urządzeniami.

-T, --tree[=kolumna]

Wymusza format w postaci drzewa. Jeśli podano kolumnę, to drzewo jest wyświetlone w danej kolumnie. Domyślnie jest to kolumna NAME.

-t, --topology

Wypisuje informacje o topologii urządzenia blokowego. Jest to odpowiednik

-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME.

-w, --width liczba

Określa szerokość wyjścia jako liczbę znaków. Domyślnie jest to liczba kolumn terminala, a jeśli polecenie nie jest wykonywane w terminalu, to szerokość nie jest domyślnie limitowana. Opcja wymusza również przyjęcie przez lsblk, że znaki kontrolne terminala i niebezpieczne znaki nie są dozwolone. Zakładanym zastosowaniem tej opcji jest np. użycie lsblk przez polecenie watch(1).

-x, --sort kolumna

Sortuje wynik według kolumny. Opcja ta włącza domyślnie format wyjściowy --list. Można również połączyć ją z opcją --tree, aby wymusić format w postaci drzewa; wówczas jego gałęzie są posortowane według kolumny.

-y, --shell

Nazwy kolumn można zmodyfikować, aby zawierały jedynie znaki dozwolone do identyfikatorów zmiennych powłoki, np. MIN_IO i FSUSE_PCT, zamiast MIN-IO i FSUSE%. Przydaje się to np. z opcją --pairs. Proszę zauważyć, że funkcja ta była automatycznie włączona z opcją --pairs w wersji 2.37, lecz ze względu na problemy z kompatybilnością, teraz konieczne jest zażądanie takiego zachowania opcją --shell.

-z, --zoned

Wypisuje informacje związane ze strefą dla każdego urządzenia.

--sysroot katalog

Pozyskuje dane dla systemu Linux innego niż ten, z którego uruchomiono lsblk. Podany katalog jest korzeniem systemu Linux, który ma być sprawdzony. Rzeczywiste węzły urządzenia w katalogu docelowym można zastąpić plikami tekstowymi z atrybutami udev.

--properties-by lista

Opcja określa metody używane przez lsblk do zebrania informacji o systemach plików i tablicach partycji. Listą jest listą nazw metod, rozdzielonych przecinkiem. Domyślne ustawienie to "file,udev,blkid". Obsługiwane są następujące metody:

udev

Odczytuje dane z bazy danych udev. Jeśli się to nie powiedzie, przechodzi do następnej metody.

blkid

Odczytuje dane bezpośrednio z urządzenia za pomocą libblkid. Jeśli się to nie powiedzie, przechodzi do następnej metody.

file

Odczytuje dane z pliku. Metoda ta jest wykorzystywana tylko, jeśli podano opcję --sysroot. Metoda ta zawsze zatrzymuje dalsze odpytywanie.

none

Wcale nie odpytuje. Metoda ta zawsze zatrzymuje dalsze odpytywanie.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

STATUS ZAKOŃCZENIA

0

sukces

1

niepowodzenie

32

nie znaleziono żadnych podanych urządzeń

64

znaleziono jedynie część podanych urządzeń

ŚRODOWISKO

LSBLK_DEBUG=all

włącza wyjście debugowania lsblk.

LIBBLKID_DEBUG=all

włącza wyjście debugowania libblkid.

LIBMOUNT_DEBUG=all

włącza wyjście debugowania libmount.

LIBSMARTCOLS_DEBUG=all

włącza wyjście debugowania libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

używa widocznych znaków wypełnienia.

UWAGI

W przypadku partycji, część informacji (np. atrybuty kolejki), jest dziedziczona z urządzenia nadrzędnego.

Polecenie lsblk musi być w stanie odszukać każde urządzenie blokowe przez nr-główny:nr-poboczny (major:minor), co jest dokonywane za pomocą /sys/dev/block. Ten katalog urządzeń blokowych sysfs pojawił się w wersji jądra 2.6.27 (październik 2008). Jeśli z tak odpowiednio nowym jądrem występują problemy, proszę sprawdzić, czy jądro zbudowano z włączoną opcją CONFIG_SYSFS.

AUTORZY

Milan Broz <gmazyland@gmail.com>, Karel Zak <kzak@redhat.com>

ZOBACZ TAKŻE

blkid(8), findmnt(8) ls(1), scols-filter(5)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie lsblk jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-03-19 util-linux 2.41