DF(1) General Commands Manual DF(1) NAME df – display free disk space SYNOPSIS df [--libxo] [-b | -g | -H | -h | -k | -m | -P] [-acIilntY] [-,] [-T type] [file | filesystem ...] LEGACY SYNOPSIS df [--libxo] [-b | -g | -H | -h | -k | -m | -P] [-acIilnY] [-,] [-T type] [-t type] [file | filesystem ...] DESCRIPTION The df utility displays statistics about the amount of free disk space on the specified mounted file system or on the file system of which file is a part. By default block counts are displayed with an assumed block size of 512 bytes. If neither a file or a file system operand is specified, statistics for all mounted file systems are displayed (subject to the -t option below). The following options are available: --libxo Generate output via libxo(3) in a selection of different human and machine readable formats. See xo_parse_args(3) for details on command line arguments. -a Show all mount points, including those that were mounted with the MNT_IGNORE flag. This is implied for file systems specified on the command line. -b Explicitly use 512 byte blocks, overriding any BLOCKSIZE specification from the environment. This is the same as the -P option. The -k option overrides this option. -c Display a grand total. -g Use 1073741824 byte (1 Gibibyte) blocks rather than the default. This overrides any BLOCKSIZE specification from the environment. -h “Human-readable” output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in order to reduce the number of digits to four or fewer. This applies to the Size, Used, and Avail columns only; the iused and ifree columns will be displayed in powers of 1000. -H, --si Same as -h but based on powers of 1000. -I Suppress inode counts. See -i below. -i Include statistics on the number of free and used inodes. In conjunction with the -h or -H options, the number of inodes is scaled by powers of 1000. In case the filesystem has no inodes then ‘-’ is displayed instead of the usage percentage. This option is now the default to conform to Version 3 of the Single UNIX Specification (“SUSv3”). Use -I to suppress this output. -k Use 1024 byte (1 Kibibyte) blocks rather than the default. This overrides the -P option and any BLOCKSIZE specification from the environment. -l Select locally-mounted file system for display. If used in combination with the -T type option, file system types will be added or excluded acccording to the parameters of that option. -m Use 1048576 byte (1 Mebibyte) blocks rather than the default. This overrides any BLOCKSIZE specification from the environment. -n Print out the previously obtained statistics from the file systems. This option should be used if it is possible that one or more file systems are in a state such that they will not be able to provide statistics without a long delay. When this option is specified, df will not request new statistics from the file systems, but will respond with the possibly stale statistics that were previously obtained. -P Explicitly use 512 byte blocks, overriding any BLOCKSIZE specification from the environment. This is the same as the -b option. The -g and -k options override this option. In compatibility mode, this also suppresses inode counts. -T type Select file systems to display. More than one type may be specified in a comma separated list. The list of file system types can be prefixed with “no” to specify the file system types for which action should not be taken. If used in combination with the -l option, the parameters of this option will modify the list of locally-mounted file systems selected by the -l option. For example, the df command: df -T nonfs,mfs lists all file systems except those of type NFS and MFS. The lsvfs(1) command can be used to find out the types of file systems that are available on the system. -t If used with no arguments, this option is a no-op (macOS already prints the total allocated-space figures). If used with an argument, it acts like -T, but this usage is deprecated and should not be relied upon. -Y Include file system type. -, (Comma) Print sizes grouped and separated by thousands using the non-monetary separator returned by localeconv(3), typically a comma or period. If no locale is set, or the locale does not have a non-monetary separator, this option has no effect. ENVIRONMENT BLOCKSIZE Specifies the units in which to report block counts. This uses getbsize(3), which allows units of bytes or numbers scaled with the letters k (for multiples of 1024 bytes), m (for multiples of 1048576 bytes) or g (for gibibytes). The allowed range is 512 bytes to 1 GB. If the value is outside, it will be set to the appropriate limit. EXAMPLES Show human readable free disk space for all mount points including file system type: $ df -ahY Filesystem Type Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s5s1 apfs 465Gi 15Gi 266Gi 6% 533k 2.8G 0% / devfs devfs 194Ki 194Ki 0Bi 100% 672 0 100% /dev /dev/disk1s2 apfs 465Gi 3.4Gi 266Gi 2% 1.6k 2.8G 0% /System/Volumes/Preboot /dev/disk1s4 apfs 465Gi 3.0Gi 266Gi 2% 3 2.8G 0% /System/Volumes/VM /dev/disk1s6 apfs 465Gi 11Mi 266Gi 1% 33 2.8G 0% /System/Volumes/Update /dev/disk1s1 apfs 465Gi 177Gi 266Gi 40% 3.9M 2.8G 0% /System/Volumes/Data The filesystems on this machine are virtual volumes on a single partition. Therefore, the size and space available is the same for all filesystems even though the space in use is different. The capacity column shows the amount of space used by each filesystem as a percentage of the sum of space used and space available. Show previously collected data, excluding inode information, except for the devfs file system. Note that the “no” prefix affects all the file systems in the list and the -t option can be specified only once: $ df -l -I -n -t nodevfs Filesystem 1K-blocks Used Available Capacity Mounted on /dev/disk1s5s1 487196712 15300072 278432984 6% / /dev/disk1s2 487196712 3604640 278430312 2% /System/Volumes/Preboot /dev/disk1s4 487196712 3145748 278430312 2% /System/Volumes/VM /dev/disk1s6 487196712 11576 278430312 1% /System/Volumes/Update /dev/disk1s1 487196712 185371244 278432984 40% /System/Volumes/Data Show human readable information for the file system containing the file /etc/rc.common: $ df -h /etc/rc.common Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s1 465Gi 177Gi 266Gi 40% 3.9M 2.8G 0% /System/Volumes/Data Same as above but specifying some file system: $ df -h /dev/disk1s1 Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1s1 465Gi 177Gi 266Gi 40% 3.9M 2.8G 0% /System/Volumes/Data LEGACY DESCRIPTION The "capacity" percentage is normally rounded up to the next higher integer. In legacy mode, it is rounded down to the next lower integer. When the -P option and the -k option are used together, sizes are reported in 1024-byte blocks. The -t option is normally a no-op (macOS already prints the total allocated-space figures). In legacy mode, it is equivalent to -T. For more information about legacy mode, see compat(5). SEE ALSO lsvfs(1), quota(1), fstatfs(2), getfsstat(2), statfs(2), getbsize(3), getmntinfo(3), libxo(3), localeconv(3), xo_parse_args(3), compat(5), fstab(5), mount(8), pstat(8), quot(8), swapinfo(8) STANDARDS With the exception of most options, the df utility conforms to IEEE Std 1003.1-2004 (“POSIX.1”), which defines only the -k, -P and -t options. HISTORY A df command appeared in Version 1 AT&T UNIX. BUGS The -n flag is ignored if a file or file system is specified. Also, if a mount point is not accessible by the user, it is possible that the file system information could be stale. The -b and -P options are identical. The former comes from the BSD tradition, and the latter is required for IEEE Std 1003.1-2004 (“POSIX.1”) conformity. macOS 15.2 February 22, 2023 macOS 15.2