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