Linux: Checking Free Disk Space
This post will guide you how to check free disk space for a given partition or disk in your Linux system. How do I check disk usage using df command under Linux operating system. How to see disk free space or usage using a Linux command.
Checking Free Disk Space
If you want to check the disk usage in your Linux system, you can use the df command to displays the amount of disk space available on the file system containing each file name argument.
Type the following command:
# df
Outputs:
[root@devops ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 18847744 1431892 17415852 8% / devtmpfs 502908 0 502908 0% /dev tmpfs 509128 0 509128 0% /dev/shm tmpfs 509128 6776 502352 2% /run tmpfs 509128 0 509128 0% /sys/fs/cgroup /dev/sda1 508588 138432 370156 28% /boot tmpfs 101828 0 101828 0% /run/user/0
If you want to display the disk space usage for all file system in your Linux, you need to run the df command with –a option, type:
# df –a
Outputs:
[root@devops ~]# df -a Filesystem 1K-blocks Used Available Use% Mounted on rootfs - - - - / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devtmpfs 502908 0 502908 0% /dev securityfs 0 0 0 - /sys/kernel/security tmpfs 509128 0 509128 0% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 509128 6776 502352 2% /run tmpfs 509128 0 509128 0% /sys/fs/cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd pstore 0 0 0 - /sys/fs/pstore cgroup 0 0 0 - /sys/fs/cgroup/cpuset cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct cgroup 0 0 0 - /sys/fs/cgroup/memory cgroup 0 0 0 - /sys/fs/cgroup/devices cgroup 0 0 0 - /sys/fs/cgroup/freezer cgroup 0 0 0 - /sys/fs/cgroup/net_cls cgroup 0 0 0 - /sys/fs/cgroup/blkio cgroup 0 0 0 - /sys/fs/cgroup/perf_event cgroup 0 0 0 - /sys/fs/cgroup/hugetlb configfs 0 0 0 - /sys/kernel/config /dev/mapper/centos-root 18847744 1431892 17415852 8% / selinuxfs 0 0 0 - /sys/fs/selinux systemd-1 - - - - /proc/sys/fs/binfmt_misc debugfs 0 0 0 - /sys/kernel/debug mqueue 0 0 0 - /dev/mqueue hugetlbfs 0 0 0 - /dev/hugepages /dev/sda1 508588 138432 370156 28% /boot tmpfs 101828 0 101828 0% /run/user/0 binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
If you want to display the disk space usage in human readable format in the output, you need to use –h option for df command, type:
# df –h
Outputs:
[root@devops ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 18G 1.4G 17G 8% / devtmpfs 492M 0 492M 0% /dev tmpfs 498M 0 498M 0% /dev/shm tmpfs 498M 6.7M 491M 2% /run tmpfs 498M 0 498M 0% /sys/fs/cgroup /dev/sda1 497M 136M 362M 28% /boot tmpfs 100M 0 100M 0% /run/user/0
If you want to display the disk space usage for a given file system (such as: /dev), type the following command:
# df –h /dev
Outputs:
[root@devops ~]# df -h /dev Filesystem Size Used Avail Use% Mounted on devtmpfs 492M 0 492M 0% /dev
If you want to display the disk space usage in Mega Byte format, you need to pass –m option to df command, type:
# df –m
Outputs:
[root@devops ~]# df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/mapper/centos-root 18406 1399 17008 8% / devtmpfs 492 0 492 0% /dev tmpfs 498 0 498 0% /dev/shm tmpfs 498 7 491 2% /run tmpfs 498 0 498 0% /sys/fs/cgroup /dev/sda1 497 136 362 28% /boot tmpfs 100 0 100 0% /run/user/0
If you want to list inode information instead of block usage, you need to use the –I option for df command, type:
# df –I
Outputs:
[root@devops ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/centos-root 18857984 34509 18823475 1% / devtmpfs 125727 341 125386 1% /dev tmpfs 127282 1 127281 1% /dev/shm tmpfs 127282 423 126859 1% /run tmpfs 127282 13 127269 1% /sys/fs/cgroup /dev/sda1 512000 338 511662 1% /boot tmpfs 127282 1 127281 1% /run/user/0
If you want to display the file system type in the information of the disk spacek usage in the output of df command, you need to pass the –T option, type:
# df –T
Outputs:
[root@devops ~]# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root xfs 18847744 1431892 17415852 8% / devtmpfs devtmpfs 502908 0 502908 0% /dev tmpfs tmpfs 509128 0 509128 0% /dev/shm tmpfs tmpfs 509128 6776 502352 2% /run tmpfs tmpfs 509128 0 509128 0% /sys/fs/cgroup /dev/sda1 xfs 508588 138432 370156 28% /boot tmpfs tmpfs 101828 0 101828 0% /run/user/0
If you want to list the disk usage for a given file system, such as, xfs, you can use the –t option in the df command, type:
# df –t xfs
Outputs:
[root@devops ~]# df -t xfs Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 18847744 1431892 17415852 8% / /dev/sda1 508588 138432 370156 28% /boot
If you want to exclude a given file system type in the output of the disk space usage with df command, you need to pass the –x option, type:
# df –x xfs
Outputs:
[root@devops ~]# df -x xfs Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 502908 0 502908 0% /dev tmpfs 509128 0 509128 0% /dev/shm tmpfs 509128 6776 502352 2% /run tmpfs 509128 0 509128 0% /sys/fs/cgroup tmpfs 101828 0 101828 0% /run/user/0
From the above output, you will see that the disk usage for all file system exclude xfs file system are printed.
If you want to get more help about the df command, you can pass the –help option, type:
# df –help
Outputs:
[root@devops ~]# df --help Usage: df [OPTION]... [FILE]... Show information about the file system on which each FILE resides, or all file systems by default. Mandatory arguments to long options are mandatory for short options too. -a, --all include dummy file systems -B, --block-size=SIZE scale sizes by SIZE before printing them; e.g., '-BM' prints sizes in units of 1,048,576 bytes; see SIZE format below --direct show statistics for a file instead of mount point --total produce a grand total -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) -H, --si likewise, but use powers of 1000 not 1024 -i, --inodes list inode information instead of block usage -k like --block-size=1K -l, --local limit listing to local file systems --no-sync do not invoke sync before getting usage info (default) --output[=FIELD_LIST] use the output format defined by FIELD_LIST, or print all fields if FIELD_LIST is omitted. -P, --portability use the POSIX output format --sync invoke sync before getting usage info -t, --type=TYPE limit listing to file systems of type TYPE -T, --print-type print file system type -x, --exclude-type=TYPE limit listing to file systems not of type TYPE -v (ignored) --help display this help and exit --version output version information and exit Display values are in units of the first available SIZE from --block-size, and the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000). FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail', 'pcent', 'file' and 'target' (see info page). GNU coreutils online help: <http://www.gnu.org/software/coreutils/> For complete documentation, run: info coreutils 'df invocation'