Scroll to navigation

LSBLK(8) Systemadministration LSBLK(8)

NAMN

lsblk - lista blockenheter

SYNOPSIS

lsblk [flaggor] [enhet...]

BESKRIVNING

lsblk listar information om alla tillgängliga eller de angivna blockenheterna. Kommandot lsblk läser filsystemet sysfs och udev db för att samla information. Om udev db inte är tillgänglig eller om lsblk är kompilerat utan udev-stöd försöker det läsa LABELs, UUIDs och filsystemtyper från blockenheten. I det här fallet krävs root-behörighet.

Som standard skriver kommandot ut alla blockenheter (utom RAM-diskar) i ett trädliknande format. Samma enhet kan upprepas i trädet om den är relaterad till andra enheter. Flaggan --merge rekommenderas för mer komplicerade konfigurationer för att samla grupper av enheter och beskriva komplexa N:M-relationer.

Den trädliknande utmatningen (eller children[]-arrayen i JSON-utmatningen) aktiveras endast om NAME-kolumnen finns i utmatningen eller när kommandoradsflaggan --tree används. Se även --nodeps och --list för att styra trädformateringen.

Standardutdata, liksom standardutdata från flaggor som --fs och --topology, kan komma att ändras. Så när det är möjligt bör du undvika att använda standardutdata i dina skript. Definiera alltid förväntade kolumner explicit genom att använda --output columns-list och --list i miljöer där en stabil utdata krävs.

Använd lsblk --list-columns för att få en lista över alla tillgängliga kolumner.

Observera att lsblk kan utföras vid en tidpunkt då udev ännu inte har all information om nyligen tillagda eller ändrade enheter. I det här fallet rekommenderas att du använder udevadm settle före lsblk för att synkronisera med udev.

Förhållandet mellan blockenheter och filsystem är inte alltid ett till ett. Filsystemet kan använda fler blockenheter, eller så kan samma filsystem vara tillgängligt via fler sökvägar. Detta är anledningen till att lsblk tillhandahåller kolumnerna MOUNTPOINT och MOUNTPOINTS (pl.). Kolumnen MOUNTPOINT visar bara en monteringspunkt (vanligtvis den senast monterade instansen av filsystemet), och kolumnen MOUNTPOINTS visar med cell med flera rader alla monteringspunkter som är associerade med enheten.

FLAGGOR

-A, --noempty

Skriv inte ut tomma enheter.

-a, --all

Inaktivera alla inbyggda filter och lista alla tomma enheter och RAM-disk-enheter också.

-b, --bytes

Skriv ut storlekar i byte i stället för i läsbart format.

Som standard visas storlekar i enheter som är potenser av 1024 byte. Enheternas formella förkortningar (KiB, MiB, GiB, …) förkortas ytterligare till endast den första bokstaven: K, M, G, ….

-H, --list-columns

Lista kolumnerna som kan anges med flaggan --output. Kan användas med --json eller --raw för att få listan i maskinläsbart format.

-D, --discard

Skriv ut information om borttagningsfunktionerna (TRIM, UNMAP) för varje enhet.

-d, --nodeps

Skriv inte ut innehavarenheter eller slavar. Exempel: lsblk --nodeps /dev/sda skriver endast ut information om enheten sda.

-E, --dedup column

Använd kolumn som en avdupliceringsnyckel för att avduplicera utdataträdet. Om nyckeln inte är tillgänglig för enheten, eller om enheten är en partition och föräldrars enhet för hela disken har samma nyckel, skrivs enheten alltid ut.

Det vanliga användningsområdet är att avdubbla utdata på systemets enheter med flera vägar, t.ex. genom -E WWN.

-e, --exclude lista

Uteslut de enheter som anges i den kommaseparerade listan med större enhetsnummer. Observera att RAM-diskar (major=1) utesluts som standard om --all inte anges. Filtret tillämpas endast på enheterna på den översta nivån. Detta kan vara förvirrande för --list-utdataformat där enheternas hierarki inte är uppenbar.

-f, --fs

Skriv ut information om filsystem. Denna flagga är likvärdigt med -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS. Den auktoritativa informationen om filsystem och raider tillhandahålls av kommandot blkid(8).

--hyperlink[=när]

Skriv ut sökvägar som hyperlänkar i terminalen. Det valfria argumentet när kan vara always, never eller auto. Om argumentet utelämnas används auto, vilket innebär att hyperlänkar endast används när utdata går till en terminal.

-I, --include lista

Inkludera enheter som specificeras av den kommaseparerade listan med större enhetsnummer. Filtret tillämpas endast på enheterna på den översta nivån. Detta kan vara förvirrande för utdataformatet --list där enheternas hierarki inte är uppenbar.

-i, --ascii

Använd ASCII-tecken för trädformatering.

-J, --json

Använd JSON-utdataformat. Vi rekommenderar starkt att du använder --output och även --tree om det behövs. Observera att children[] endast används om NAME-kolumnen eller --tree används.

-l, --list

Producerar utdata i form av en lista. Utdata ger ingen information om relationer mellan enheter och sedan version 2.34 skrivs varje enhet ut endast en gång om --pairs eller --raw inte anges (de tolkningsbara utdata bibehålls på ett bakåtkompatibelt sätt).

-M, --merge

Gruppera föräldrar till underträd för att ge mer läsbar utdata för RAID och Multi-path-enheter. Den trädliknande utmatningen är nödvändig.

-m, --perms

Skriv ut information om enhetens ägare, grupp och läge. Denna flagga är likvärdigt med -o NAME,SIZE,OWNER,GROUP,MODE.

-N, --nvme

Utmatar endast information om NVMe-enheter.

-v, --virtio

Utmatar endast information om virtio-enheter.

-n, --noheadings

Skriv inte ut någon rubrikrad.

-o, --output lista

Ange vilka utdatakolumner som ska skrivas ut. Använd --list-columns för att få en lista över alla kolumner som stöds. Kolumnerna kan påverka trädliknande utdata. Standardinställningen är att använda tree för kolumnen 'NAME' (se även --tree).

Standardlistan med kolumner kan utökas om lista anges i formatet +list (t.ex. lsblk -o +UUID).

-O, --output-all

Skriv ut alla tillgängliga kolumner.

-P, --pairs

Producerar utdata i form av nyckel="värde"-par. Utdataraderna är fortfarande ordnade efter beroenden. Alla potentiellt osäkra värde-tecken är hexadecalerade (\x<code>). Se även flaggan --shell.

-p, --paths

Skriv ut fullständiga enhetssökvägar.

-Q, --filter uttryck

Skriv endast ut enheter som uppfyller villkoren i uttryck. Filtret utvärderas innan lsblk samlar in data för alla utdatakolumner. Endast data som behövs för uttryckets lata utvärdering hämtas från systemet. Detta kan förbättra prestandan jämfört med efterfiltrering, som ofta görs med verktyg som grep(1).

Denna funktion är EXPERIMENTELL. Se även scols-filter(5).

Exempelvis, för att utesluta sda och sdb men skriva ut allt annat (”!~” är en operator för negativ matchning med reguljära uttryck):

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

--highlight uttryck

Färglägg rader som matchar uttryck.

Denna funktion är EXPERIMENTELL. Se även scols-filter(5).

--ct namn[:parameter[:funktion]]

Definiera en anpassad räknare. Anpassade räknare skrivs ut efter den vanliga utmatningen. namn är räknarens anpassade namn, valfria parameter är namnet på kolumnen som ska användas för räknaren och valfria funktion anger aggregeringsfunktionen. Funktioner som stöds är count, min, max, sum. Standardfunktionen är count. Om parameter inte anges räknas antalet rader.

Denna funktion är EXPERIMENTELL. Se även --ct-filter.

Till exempel rapporterar --ct MyCounter:SIZE:sum summan av SIZE-värdena. För att rapportera antalet SATA-diskar kan man använda:

lsblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' \

--ct "Antal SATA-enheter"

--ct-filter uttryck

Definiera en begränsning för nästa räknare.

Denna funktion är EXPERIMENTELL. Se även --ct och scols-filter(5).

Exempelvis för att summera storlekar efter enhetstyp:

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

--ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum

-r, --raw

Producerar utdata i råformat. Utdataraderna är fortfarande ordnade efter beroenden. Alla potentiellt osäkra tecken är hexadecalerade (\x<code>) i kolumnerna NAME, KNAME, LABEL, PARTLABEL och MOUNTPOINT.

-S, --scsi

Utmatar endast information om SCSI-enheter. Alla partitioner, slavar och innehavarenheter ignoreras.

-s, --inverse

Skriv ut beroenden i omvänd ordning. Om utskriften --list begärs är raderna fortfarande ordnade efter beroenden.

-T, --tree[=column]

Tvinga fram ett trädliknande utdataformat. Om column anges skrivs ett träd ut i kolumnen. Standard är NAME-kolumnen.

-t, --topology

Utmatar information om blockenhetens topologi. Denna flagga är likvärdigt med

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

-w, --width nummer

Anger utmatningsbredd som ett antal tecken. Standardvärdet är antalet terminalkolumner, och om det inte körs på en terminal begränsas inte utmatningsbredden alls som standard. Den här flaggan tvingar också lsblk att anta att terminalens kontrolltecken och osäkra tecken inte är tillåtna. Det förväntade användningsfallet är t.ex. när lsblk används av kommandot watch(1).

-x, --sort column

Sortera utdatarader efter kolumn. Denna flagga aktiverar --list utdataformat som standard. Det är möjligt att använda flaggan --tree för att tvinga fram trädliknande utdata och då sorteras trädgrenarna efter kolumn.

-y, --shell

Kolumnnamnet ändras så att det endast innehåller tecken som är tillåtna för identifiering av skalvariabler, t.ex. MIN_IO och FSUSE_PCT i stället för MIN-IO och FSUSE%. Detta kan t.ex. användas med --pairs. Observera att den här funktionen aktiverades automatiskt för --pairs i version 2.37, men på grund av kompatibilitetsproblem är det nu nödvändigt att begära detta beteende med --shell.

-z, --zoned

Skriv ut zonrelaterad information för varje enhet.

--sysroot katalog

Samlar in data för en annan Linux-instans än den instans från vilken kommandot lsblk utfärdades. Den angivna katalogen är systemroten för den Linux-instans som ska inspekteras. De verkliga enhetsnoderna i målkatalogen kan ersättas av textfiler med udev-attribut.

--properties-by lista

Den här flaggan anger de metoder som lsblk använder för att samla in information om filsystem och partitionstabeller. Listan är en kommaseparerad lista med metodnamn. Standardinställningen är "file,udev,blkid". De metoder som stöds är:

udev

Läser data från udev DB. Om det inte lyckas går den vidare till nästa sonderingsmetod.

blkid

Läser data direkt från enheten med hjälp av libblkid. Om det inte lyckas går den vidare till nästa probningsmetod.

file

Läser data från en fil. Den här metoden används endast om flaggan --sysroot har angetts. Denna metod stoppar alltid probing om den används.

none

Sondar inte. Denna metod stoppar alltid sonderingen.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

AVSLUTSSTATUS

0

lyckades

1

misslyckande

32

ingen av de angivna enheterna hittades

64

vissa specificerade enheter hittades, andra hittades inte

FÄRGER

Färgläggningen av utdata implementeras av terminal-colors.d(5) funktionalitet. Implicit färgläggning kan inaktiveras med en tom fil

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

för kommandot lsblk eller för alla verktyg med

/etc/terminal-colors.d/disable

Sedan version 2.41 stöds även miljövariabeln $NO_COLOR som inaktiverar färgläggning av utdata om den inte uttryckligen aktiveras med en kommandoradsflagga.

Den användarspecifika $XDG_CONFIG_HOME/terminal-colors.d eller $HOME/.config/terminal-colors.d åsidosätter den globala inställningen.

Observera att färgläggningen av utdata kan vara aktiverad som standard, och i så fall behöver inte terminal-colors.d-katalogerna finnas ännu.

MILJÖ

LSBLK_DEBUG=all

aktiverar lsblk felsökningsutdata.

LIBBLKID_DEBUG=all

aktiverar libblkid felsökningsutdata.

LIBMOUNT_DEBUG=all

aktiverar libmount felsökningsutdata.

LIBSMARTCOLS_DEBUG=all

aktiverar libsmartcols felsökningsutdata.

LIBSMARTCOLS_DEBUG_PADDING=on

använda synliga utfyllnadstecken.

LSBLK_COLUMNS=

anger en kommaseparerad lista över utdatakolumner att skriva ut. Alla kolumner som listas av --list-columns kan användas.

ANMÄRKNINGAR

För partitioner ärvs viss information (t.ex. köattribut) från den överordnade enheten.

Kommandot lsblk måste kunna slå upp varje blockenhet med major- och minor-nummer, vilket görs med hjälp av /sys/dev/block. Denna sysfs-blockkatalog dök upp i kärnan 2.6.27 (oktober 2008). Om du får problem med en tillräckligt ny kärna, kontrollera att CONFIG_SYSFS var aktiverat när kärnan byggdes.

UPPHOVSPERSONER

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

SE ÄVEN

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

FELRAPPORTERING

För felrapporter, använd felhanteraren <https://github.com/util-linux/util-linux/issues>.

TILLGÄNGLIGHET

Kommandot lsblk ingår i paketet util-linux som kan hämtas från Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

2026-09-25 util-linux 2.42.4