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

ZOBACZ TAKŻE

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

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie lsblk jest częścią pakietu util-linux, który można pobrać ze strony