]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - misc-utils/lsblk.8
Manual pages: order NOTES / HISTORY / BUGS / EXAMPLE consistently
[thirdparty/util-linux.git] / misc-utils / lsblk.8
index 1450e92cac9fedfab914f835cd7bd9d65c93fcfd..3da4e2e19513eec4422a35347f1ae517ebe23991 100644 (file)
@@ -13,21 +13,25 @@ command reads the
 .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
-.B "lsblk --help"
+.B "lsblk \-\-help"
 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
@@ -41,7 +45,7 @@ before lsblk to synchronize with udev.
 .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.
@@ -50,17 +54,26 @@ Print the SIZE column in bytes rather than in a human-readable format.
 Print information about the discarding capabilities (TRIM, UNMAP) for each device.
 .TP
 .BR \-d , " \-\-nodeps"
-Do not print holder devices or slaves.  For example, \fBlsblk --nodeps /dev/sda\fR prints
+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 not specified.
+The filter is applied to the top-level devices only. This may 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
-.BR -o\ NAME,FSTYPE,LABEL,UUID,MOUNTPOINT .
+.BR \-o\ NAME,FSTYPE,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINT .
 The authoritative information about filesystems and raids is provided by the
 .BR blkid (8)
 command.
@@ -70,20 +83,29 @@ Display help text and exit.
 .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 may 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.
 .TP
 .BR \-J , " \-\-json"
-Use JSON output format.
+Use JSON output format.  It's strongly recommended to use \fB\-\-output\fR and
+also \fB\-\-tree\fR if necessary.
 .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 if \fB\-\-pairs\fR or \fB\-\-raw\fR not specified (the
+parsable outputs are maintained in backwardly compatible way).
+.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
-.BR -o\ NAME,SIZE,OWNER,GROUP,MODE .
+.BR \-o\ NAME,SIZE,OWNER,GROUP,MODE .
 .TP
 .BR \-n , " \-\-noheadings"
 Do not print a header line.
@@ -91,70 +113,73 @@ Do not print a header line.
 .BR \-o , " \-\-output " \fIlist\fP
 Specify which output columns to print.  Use
 .B \-\-help
-to get a list of all supported columns.
+to get a list of all supported columns.  The columns may affect tree-like output.
+The default is to use tree for the column 'NAME' (see also \fB\-\-tree\fR).
 
 The default list of columns may be extended if \fIlist\fP is
-specified in the format \fI+list\fP (e.g. \fBlsblk -o +UUID\fP).
+specified in the format \fI+list\fP (e.g., \fBlsblk \-o +UUID\fP).
 .TP
-.BR \-O , " \-\-output\-all "
+.BR \-O , " \-\-output\-all"
 Output all available columns.
 .TP
 .BR \-P , " \-\-pairs"
-Produce output in the form of key="value" pairs.
-All potentially unsafe characters are hex-escaped (\\x<code>).
+Produce output in the form of key="value" pairs.  The output lines are still ordered by
+dependencies.  All potentially unsafe characters are hex-escaped (\\x<code>).
 .TP
 .BR \-p , " \-\-paths"
 Print full device paths.
 .TP
 .BR \-r , " \-\-raw"
-Produce output in raw format.  All potentially unsafe characters are hex-escaped
+Produce output in raw format.  The output lines are still ordered by
+dependencies.  All potentially unsafe characters are hex-escaped
 (\\x<code>) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns.
 .TP
 .BR \-S , " \-\-scsi"
 Output info about SCSI devices only.  All partitions, slaves and holder devices are ignored.
 .TP
 .BR \-s , " \-\-inverse"
-Print dependencies in inverse order.
+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
-.BR -o\ NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME .
+.BR \-o\ NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME .
 .TP
 .BR \-V , " \-\-version"
 Display version information and exit.
 .TP
 .BR \-x , " \-\-sort " \fIcolumn\fP
-Sort output lines by \fIcolumn\fP. This option enables \fB\-\-list\fR output.
-.SH NOTES
-For partitions, some information (e.g. queue attributes) is inherited from the
-parent device.
-.PP
-The
-.B lsblk
-command needs to be able to look up each block device by major:minor numbers,
-which is done by using
-.BR /sys/dev/block .
-This sysfs block directory appeared in kernel 2.6.27 (October 2008).
-In case of problems with a new enough kernel, check that CONFIG_SYSFS
-was enabled at the time of the kernel build.
+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.  The real device nodes in the target directory can
+be replaced by text files with udev attributes.
 
-.SH RETURN CODES
+.SH EXIT STATUS
 .IP 0
 success
 .IP 1
 failure
 .IP 32
-not found all specified devices
+none of specified devices found
 .IP 64
 some specified devices found, some not found
 
-.SH AUTHORS
-.nf
-Milan Broz <mbroz@redhat.com>
-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
@@ -163,10 +188,28 @@ enables libmount debug output.
 enables libsmartcols debug output.
 .IP LIBSMARTCOLS_DEBUG_PADDING=on
 use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
+.SH NOTES
+For partitions, some information (e.g., queue attributes) is inherited from the
+parent device.
+.PP
+The
+.B lsblk
+command needs to be able to look up each block device by major:minor numbers,
+which is done by using
+.IR /sys/dev/block .
+This sysfs block directory appeared in kernel 2.6.27 (October 2008).
+In case of problems with a new enough kernel, check that CONFIG_SYSFS
+was enabled at the time of the kernel build.
+
+.SH AUTHORS
+.nf
+Milan Broz <mbroz@redhat.com>
+Karel Zak <kzak@redhat.com>
+.fi
 .SH SEE ALSO
 .BR ls (1),
 .BR blkid (8),
 .BR findmnt (8)
 .SH AVAILABILITY
 The lsblk command is part of the util-linux package and is available from
-ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+https://www.kernel.org/pub/linux/utils/util-linux/.