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
    Print sizes in bytes rather than in human-readable form.

    By default, sizes are shown in units that are powers of 1024 bytes. The formal abbreviations for these units (KiB, MiB, GiB, ...) are further shortened to just their first letter: K, M, G, ....

-H, --list-columns
    List the columns that can be specified with the --output option. Can be used with --json or --raw to get the list in a machine-readable format.

-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[=when]
    Print paths as terminal hyperlinks. The optional when argument can be always, never, or auto. If the argument is omitted, it defaults to auto, which means that hyperlinks will only be used when the output goes to a 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 expression
    Print only the devices that meet the conditions specified by expression. The filter is assessed prior to lsblk collecting data for all output columns. Only the necessary data for the lazy evaluation of the expression is retrieved from the system. This approach can enhance performance when compared to post-filtering, as commonly done by tools such as grep(1).

    This feature is EXPERIMENTAL. See also scols-filter(5).

    For example, to exclude sda and sdb, but print everything else ('!~' is a negative regular-expression matching operator):

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

--highlight expression
    Colorize lines matching expression.

    This feature is EXPERIMENTAL. See also scols-filter(5).

--ct name[:parameter[:function]]
    Define a custom counter. Custom counters are printed after the standard output. The name is the custom name of the counter, the optional parameter is the name of the column to be used for the counter, and the optional function specifies the aggregation function. Supported functions are: count, min, max, sum. The default function is count. If parameter is not specified, then the counter counts the number of lines.

    This feature is EXPERIMENTAL. See also --ct-filter.

    For example, --ct MyCounter:SIZE:sum reports the total of the SIZE values. To report the number of SATA disks, one can use:

        lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' \
              --ct "Number of SATA devices"

--ct-filter expression
    Define a restriction for the next counter.

    This feature is EXPERIMENTAL. See also --ct and scols-filter(5).

    For example, to aggregate sizes by device type:

        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ń

KOLORY

Kolorowanie wyjściowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie można wyłączyć za pomocą pustego pliku

    /etc/terminal-colors.d/lsblk.disable

dla polecenia lsblk albo dla wszystkich narzędzi plikiem

    /etc/terminal-colors.d/disable

Od wersji 2.41, obsługiwana jest również zmienna środowiskowa $NO_COLOR, służąca do wyłączenia kolorowania wyjścia, o ile nie włączy się je wprost opcją wiersza poleceń.

Globalne ustawienie przesłonią $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego użytkownika.

Proszę zauważyć, że kolorowanie wyjścia może być domyślnie włączone i wówczas katalogi terminal-colors.d mogą jeszcze nie istnieć.

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

LSBLK_COLUMNS=
    specifies a comma-separated list of output columns to print. All columns listed by --list-columns can be used.

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