lsblk — list block devices
lsblk [options] [ device...
]
lsblk lists information about all available or the specified block devices. The lsblk command reads the sysfs filesystem and udev db to gather information.
The command prints all block devices (except RAM disks) in a tree-like format by default. Use lsblk --help to get a list of all available columns.
The default output, as well as the default output from
options like −−fs and
−−topology, is
subject to change. So whenever possible, you should avoid
using default outputs in your scripts. Always explicitly
define expected columns by using −−output columns-list in environments
where a stable output is required.
Note that lsblk might be executed in time when udev does not have all information about recently added or modified devices yet. In this case it is recommended to use udevadm settle before lsblk to synchronize with udev.
−a,
−−allAlso list empty devices. (By default they are skipped.)
−b,
−−bytesPrint the SIZE column in bytes rather than in a human-readable format.
−D,
−−discardPrint information about the discarding capabilities (TRIM, UNMAP) for each device.
−d,
−−nodepsDo not print holder devices or slaves. For example, lsblk --nodeps /dev/sda prints information about the sda device only.
−e,
−−exclude listExclude the devices specified by the comma-separated list of major device numbers. Note that RAM disks (major=1) are excluded by default. The filter is applied to the top-level devices only.
−f,
−−fsOutput info about filesystems. This option is
equivalent to −o
NAME,FSTYPE,LABEL,UUID,MOUNTPOINT. The
authoritative information about filesystems and raids
is provided by the blkid(8) command.
−h,
−−helpDisplay help text and exit.
−I,
−−include listInclude devices specified by the comma-separated list of major device numbers. The filter is applied to the top-level devices only.
−i,
−−asciiUse ASCII characters for tree formatting.
−J,
−−jsonUse JSON output format.
−l,
−−listProduce output in the form of a list.
−m,
−−permsOutput info about device owner, group and mode. This
option is equivalent to −o
NAME,SIZE,OWNER,GROUP,MODE.
−n,
−−noheadingsDo not print a header line.
−o,
−−output listSpecify which output columns to print. Use
−−help to get a
list of all supported columns.
The default list of columns may be extended if
list is
specified in the format +list (e.g.
lsblk -o
+UUID).
−O,
−−output−allOutput all available columns.
−P,
−−pairsProduce output in the form of key="value" pairs. All potentially unsafe characters are hex-escaped (\x<code>).
−p,
−−pathsPrint full device paths.
−r,
−−rawProduce output in raw format. All potentially unsafe characters are hex-escaped (\x<code>) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns.
−S,
−−scsiOutput info about SCSI devices only. All partitions, slaves and holder devices are ignored.
−s,
−−inversePrint dependencies in inverse order.
−t,
−−topologyOutput info about block-device topology. This option
is equivalent to −o
NAME,ALIGNMENT,MIN−IO,OPT−IO,PHY−SEC,LOG−SEC,ROTA,SCHED,RQ−SIZE,RA,WSAME.
−V,
−−versionDisplay version information and exit.
−x,
−−sort columnSort output lines by output column.
For partitions, some information (e.g. queue attributes) is inherited from the parent device.
The lsblk
command needs to be able to look up each block device by
major:minor numbers, which is done by using /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.
0success
1failure
32not found all specified devices
64some specified devices found, some not found