.B sysfs
filesystem and
.B udev db
-to gather information.
+to gather information. If the udev db is not available or lsblk is compiled without udev support than it
+tries to read LABELs, UUIDs and filesystem types from the block device. In this case root permissions
+are necessary.
.PP
The command prints all block devices (except RAM disks) in a tree-like format
by default. Use
to get a list of all available columns.
.PP
The default output, as well as the default output from options like
-.BR \-\-fs
+.B \-\-fs
and
.BR \-\-topology ,
is subject to change. So whenever possible, you should avoid using default
outputs in your scripts. Always explicitly define expected columns by using
.B \-\-output
.I columns-list
+and
+.B \-\-list
in environments where a stable output is required.
.PP
Note that
.SH OPTIONS
.TP
.BR \-a , " \-\-all"
-Also list empty devices. (By default they are skipped.)
+Also list empty devices and RAM disk devices.
.TP
.BR \-b , " \-\-bytes"
Print the SIZE column in bytes rather than in a human-readable format.
.BR \-D , " \-\-discard"
Print information about the discarding capabilities (TRIM, UNMAP) for each device.
.TP
-.BR \-z , " \-\-zoned"
-Print the zone model for each device.
-.TP
.BR \-d , " \-\-nodeps"
Do not print holder devices or slaves. For example, \fBlsblk --nodeps /dev/sda\fR prints
information about the sda device only.
.TP
+.BR \-E , " \-\-dedup " \fIcolumn\fP
+Use \fIcolumn\fP as a de-duplication key to de-duplicate output tree. If the
+key is not available for the device, or the device is a partition and parental
+whole-disk device provides the same key than the device is always printed.
+
+The usual use case is to de-duplicate output on system multi-path devices, for
+example by \fB\-E WWN\fR.
+.TP
.BR \-e , " \-\-exclude " \fIlist\fP
Exclude the devices specified by the comma-separated \fIlist\fR of major device numbers.
-Note that RAM disks (major=1) are excluded by default. The filter is applied to the
-top-level devices only.
+Note that RAM disks (major=1) are excluded by default if \fB\-\-all\fR is no specified.
+The filter is applied to the top-level devices only. This maybe be confusing for
+\fB\-\-list\fR output format where hierarchy of the devices is not obvious.
.TP
.BR \-f , " \-\-fs"
Output info about filesystems. This option is equivalent to
.TP
.BR \-I , " \-\-include " \fIlist\fP
Include devices specified by the comma-separated \fIlist\fR of major device numbers.
-The filter is applied to the top-level devices only.
+The filter is applied to the top-level devices only. This maybe be confusing for
+\fB\-\-list\fR output format where hierarchy of the devices is not obvious.
.TP
.BR \-i , " \-\-ascii"
Use ASCII characters for tree formatting.
Use JSON output format.
.TP
.BR \-l , " \-\-list"
-Produce output in the form of a list.
+Produce output in the form of a list. The output does not provide information
+about relationships between devices and since version 2.34 every device is
+printed only once.
+.TP
+.BR \-M , " \-\-merge"
+Group parents of sub-trees to provide more readable output for RAIDs and
+Multi-path devices. The tree-like output is required.
.TP
.BR \-m , " \-\-perms"
Output info about device owner, group and mode. This option is equivalent to
Print dependencies in inverse order. If the \fB\-\-list\fR output is requested then
the lines are still ordered by dependencies.
.TP
+.BR \-T , " \-\-tree" [ =\fIcolumn ]
+Force tree-like output format. If \fIcolumn\fP is specified, then a tree is printed in the column.
+The default is NAME column.
+.TP
.BR \-t , " \-\-topology"
Output info about block-device topology.
This option is equivalent to
Display version information and exit.
.TP
.BR \-x , " \-\-sort " \fIcolumn\fP
-Sort output lines by \fIcolumn\fP. This option enables \fB\-\-list\fR output.
+Sort output lines by \fIcolumn\fP. This option enables \fB\-\-list\fR output format by default.
+It is possible to use the option \fI\-\-tree\fP to force tree-like output and
+than the tree branches are sorted by the \fIcolumn\fP.
+.TP
+.BR \-z , " \-\-zoned"
+Print the zone model for each device.
+.TP
+.BR " \-\-sysroot " \fIdirectory\fP
+Gather data for a Linux instance other than the instance from which the lsblk
+command is issued. The specified directory is the system root of the Linux
+instance to be inspected. This option is designed for the testing purpose.
+
.SH NOTES
For partitions, some information (e.g. queue attributes) is inherited from the
parent device.
.IP 1
failure
.IP 32
-not found all specified devices
+none of specified devices found
.IP 64
some specified devices found, some not found
Karel Zak <kzak@redhat.com>
.fi
.SH ENVIRONMENT
+.IP LSBLK_DEBUG=all
+enables lsblk debug output.
.IP LIBBLKID_DEBUG=all
enables libblkid debug output.
.IP LIBMOUNT_DEBUG=all