| .TH LSBLK 8 "February 2013" "util-linux" "System Administration" |
| .SH NAME |
| lsblk \- list block devices |
| .SH SYNOPSIS |
| .B lsblk |
| [options] |
| .RI [ device ...] |
| .SH DESCRIPTION |
| .B lsblk |
| lists information about all available or the specified block devices. The |
| .B lsblk |
| command reads the |
| .B sysfs |
| filesystem and |
| .B udev db |
| 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" |
| to get a list of all available columns. |
| .PP |
| The default output, as well as the default output from options like |
| .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 |
| in environments where a stable output is required. |
| .PP |
| Note that |
| .B lsblk |
| might be executed in time when |
| .B udev |
| does not have all information about recently added or modified devices yet. In this |
| case it is recommended to use |
| .B "udevadm settle" |
| before lsblk to synchronize with udev. |
| .SH OPTIONS |
| .TP |
| .BR \-a , " \-\-all" |
| 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. |
| .TP |
| .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 , " \-\-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 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 |
| .BR -o\ NAME,FSTYPE,LABEL,UUID,MOUNTPOINT . |
| The authoritative information about filesystems and raids is provided by the |
| .BR blkid (8) |
| command. |
| .TP |
| .BR \-h , " \-\-help" |
| 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. 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. |
| .TP |
| .BR \-J , " \-\-json" |
| Use JSON output format. |
| .TP |
| .BR \-l , " \-\-list" |
| Produce output in the form of a list. |
| .TP |
| .BR \-m , " \-\-perms" |
| Output info about device owner, group and mode. This option is equivalent to |
| .BR -o\ NAME,SIZE,OWNER,GROUP,MODE . |
| .TP |
| .BR \-n , " \-\-noheadings" |
| Do not print a header line. |
| .TP |
| .BR \-o , " \-\-output " \fIlist\fP |
| Specify which output columns to print. Use |
| .B \-\-help |
| to get a list of all supported columns. |
| |
| 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). |
| .TP |
| .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>). |
| .TP |
| .BR \-p , " \-\-paths" |
| Print full device paths. |
| .TP |
| .BR \-r , " \-\-raw" |
| Produce output in raw format. 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. If the \fB\-\-list\fR output is requested then |
| the lines are still ordered by dependencies. |
| .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 . |
| .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 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 " \-\-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. |
| .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 RETURN CODES |
| .IP 0 |
| success |
| .IP 1 |
| failure |
| .IP 32 |
| 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 |
| enables libmount debug output. |
| .IP LIBSMARTCOLS_DEBUG=all |
| enables libsmartcols debug output. |
| .IP LIBSMARTCOLS_DEBUG_PADDING=on |
| use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG. |
| .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 |
| https://www.kernel.org/pub/linux/utils/util-linux/. |