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.