19.4. Viewing Block Devices and File Systems

19.4.1. Using the lsblk Command

The lsblk command allows you to display a list of available block devices. It provides more information and better control on output formatting than the blkid command. It reads information from udev, therefore it is usable by non-root users. To display a list of block devices, type the following at a shell prompt:
lsblk
For each listed block device, the lsblk command displays the device name (NAME), major and minor device number (MAJ:MIN), if the device is removable (RM), its size (SIZE), if the device is read-only (RO), what type it is (TYPE), and where the device is mounted (MOUNTPOINT). For example:
~]$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                        11:0    1  1024M  0 rom
vda                       252:0    0    20G  0 rom
|-vda1                    252:1    0   500M  0 part /boot
`-vda2                    252:2    0  19.5G  0 part
  |-vg_kvm-lv_root (dm-0) 253:0    0    18G  0 lvm  /
  `-vg_kvm-lv_swap (dm-1) 253:1    0   1.5G  0 lvm  [SWAP]
By default, lsblk lists block devices in a tree-like format. To display the information as an ordinary list, add the -l command line option:
lsblk -l
For instance:
~]$ lsblk -l
NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0                    11:0    1  1024M  0 rom
vda                   252:0    0    20G  0 rom
vda1                  252:1    0   500M  0 part /boot
vda2                  252:2    0  19.5G  0 part
vg_kvm-lv_root (dm-0) 253:0    0    18G  0 lvm  /
vg_kvm-lv_swap (dm-1) 253:1    0   1.5G  0 lvm  [SWAP]
For a complete list of available command line options, see the lsblk(8) manual page.

19.4.2. Using the blkid Command

The blkid command allows you to display low-level information about available block devices. It requires root privileges, therefore non-root users should use the lsblk command. To do so, type the following at a shell prompt as root:
blkid
For each listed block device, the blkid command displays available attributes such as its universally unique identifier (UUID), file system type (TYPE), or volume label (LABEL). For example:
~]# blkid
/dev/vda1: UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" TYPE="ext4"
/dev/vda2: UUID="7IvYzk-TnnK-oPjf-ipdD-cofz-DXaJ-gPdgBW" TYPE="LVM2_member"
/dev/mapper/vg_kvm-lv_root: UUID="a07b967c-71a0-4925-ab02-aebcad2ae824" TYPE="ext4"
/dev/mapper/vg_kvm-lv_swap: UUID="d7ef54ca-9c41-4de4-ac1b-4193b0c1ddb6" TYPE="swap"
By default, the blkid command lists all available block devices. To display information about a particular device only, specify the device name on the command line:
blkid device_name
For instance, to display information about /dev/vda1, type as root:
~]# blkid /dev/vda1
/dev/vda1: UUID="7fa9c421-0054-4555-b0ca-b470a97a3d84" TYPE="ext4"
You can also use the above command with the -p and -o udev command line options to obtain more detailed information. Note that root privileges are required to run this command:
blkid -po udev device_name
For example:
~]# blkid -po udev /dev/vda1
ID_FS_UUID=7fa9c421-0054-4555-b0ca-b470a97a3d84
ID_FS_UUID_ENC=7fa9c421-0054-4555-b0ca-b470a97a3d84
ID_FS_VERSION=1.0
ID_FS_TYPE=ext4
ID_FS_USAGE=filesystem
For a complete list of available command line options, see the blkid(8) manual page.

19.4.3. Using the findmnt Command

The findmnt command allows you to display a list of currently mounted file systems. To do so, type the following at a shell prompt:
findmnt
For each listed file system, the findmnt command displays the target mount point (TARGET), source device (SOURCE), file system type (FSTYPE), and relevant mount options (OPTIONS). For example:
~]$ findmnt
TARGET                           SOURCE             FSTYPE          OPTIONS
/                                /dev/mapper/rhel-root
                                                    xfs             rw,relatime,seclabel,attr2,inode64,noquota
├─/proc                          proc               proc            rw,nosuid,nodev,noexec,relatime
│ ├─/proc/sys/fs/binfmt_misc     systemd-1          autofs          rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct
│ └─/proc/fs/nfsd                sunrpc             nfsd            rw,relatime
├─/sys                           sysfs              sysfs           rw,nosuid,nodev,noexec,relatime,seclabel
│ ├─/sys/kernel/security         securityfs         securityfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup               tmpfs              tmpfs           rw,nosuid,nodev,noexec,seclabel,mode=755
[output truncated]
By default, findmnt lists file systems in a tree-like format. To display the information as an ordinary list, add the -l command line option:
findmnt -l
For instance:
~]$ findmnt -l
TARGET                     SOURCE                FSTYPE          OPTIONS
/proc                      proc                  proc            rw,nosuid,nodev,noexec,relatime
/sys                       sysfs                 sysfs           rw,nosuid,nodev,noexec,relatime,seclabel
/dev                       devtmpfs              devtmpfs        rw,nosuid,seclabel,size=933372k,nr_inodes=233343,mode=755
/sys/kernel/security       securityfs            securityfs      rw,nosuid,nodev,noexec,relatime
/dev/shm                   tmpfs                 tmpfs           rw,nosuid,nodev,seclabel
/dev/pts                   devpts                devpts          rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000
/run                       tmpfs                 tmpfs           rw,nosuid,nodev,seclabel,mode=755
/sys/fs/cgroup             tmpfs                 tmpfs           rw,nosuid,nodev,noexec,seclabel,mode=755
[output truncated]
You can also choose to list only file systems of a particular type. To do so, add the -t command line option followed by a file system type:
findmnt -t type
For example, to all list xfs file systems, type:
~]$ findmnt -t xfs
TARGET  SOURCE                FSTYPE OPTIONS
/       /dev/mapper/rhel-root xfs    rw,relatime,seclabel,attr2,inode64,noquota
└─/boot /dev/vda1             xfs    rw,relatime,seclabel,attr2,inode64,noquota
For a complete list of available command line options, see the findmnt(8) manual page.

19.4.4. Using the df Command

The df command allows you to display a detailed report on the system's disk space usage. To do so, type the following at a shell prompt:
df
For each listed file system, the df command displays its name (Filesystem), size (1K-blocks or Size), how much space is used (Used), how much space is still available (Available), the percentage of space usage (Use%), and where is the file system mounted (Mounted on). For example:
~]$ df
Filesystem                 1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_kvm-lv_root  18618236   4357360  13315112  25% /
tmpfs                         380376       288    380088   1% /dev/shm
/dev/vda1                     495844     77029    393215  17% /boot
By default, the df command shows the partition size in 1 kilobyte blocks and the amount of used and available disk space in kilobytes. To view the information in megabytes and gigabytes, supply the -h command line option, which causes df to display the values in a human-readable format:
df -h
For instance:
~]$ df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_kvm-lv_root   18G  4.2G   13G  25% /
tmpfs                       372M  288K  372M   1% /dev/shm
/dev/vda1                   485M   76M  384M  17% /boot
For a complete list of available command line options, see the df(1) manual page.

19.4.5. Using the du Command

The du command allows you to displays the amount of space that is being used by files in a directory. To display the disk usage for each of the subdirectories in the current working directory, run the command with no additional command line options:
du
For example:
~]$ du
14972   ./Downloads
4       ./.mozilla/extensions
4       ./.mozilla/plugins
12      ./.mozilla
15004   .
By default, the du command displays the disk usage in kilobytes. To view the information in megabytes and gigabytes, supply the -h command line option, which causes the utility to display the values in a human-readable format:
du -h
For instance:
~]$ du -h
15M     ./Downloads
4.0K    ./.mozilla/extensions
4.0K    ./.mozilla/plugins
12K     ./.mozilla
15M     .
At the end of the list, the du command always shows the grand total for the current directory. To display only this information, supply the -s command line option:
du -sh
For example:
~]$ du -sh
15M     .
For a complete list of available command line options, see the du(1) manual page.

19.4.6. Using the System Monitor Tool

The File Systems tab of the System Monitor tool allows you to view file systems and disk space usage in the graphical user interface.
To start the System Monitor tool from the command line, type gnome-system-monitor at a shell prompt. The System Monitor tool appears. Alternatively, if using the GNOME desktop, press the Super key to enter the Activities Overview, type System Monitor and then press Enter. The System Monitor tool appears. The Super key appears in a variety of guises, depending on the keyboard and other hardware, but often as either the Windows or Command key, and typically to the left of the Spacebar.
Click the File Systems tab to view a list of file systems.
System Monitor — File Systems

Figure 19.3. System Monitor — File Systems

For each listed file system, the System Monitor tool displays the source device (Device), target mount point (Directory), and file system type (Type), as well as its size (Total), and how much space is available (Available), and used (Used).