DU(1) General Commands Manual DU(1)

dudisplay disk usage statistics

du [-Aclnx] [-H | -L | -P] [-g | -h | -k | -m] [-a | -s | -d depth] [-B blocksize] [-I mask] [-t threshold] [file ...]

The du utility displays the file system block usage for each file argument and for each directory in the file hierarchy rooted in each directory argument. If no file is specified, the block usage of the hierarchy rooted in the current directory is displayed.

The options are as follows:

Display the apparent size instead of the disk usage. This can be helpful when operating on compressed volumes or sparse files.
blocksize
Calculate block counts in blocksize byte blocks. This is different from the -h, -k, -m, --si and -g options or setting BLOCKSIZE and gives an estimate of how much space the examined file hierarchy would require on a filesystem with the given blocksize. Unless in -A mode, blocksize is rounded up to the next multiple of 512.
Symbolic links on the command line are followed, symbolic links in file hierarchies are not followed.
mask
Ignore files and directories matching the specified mask.
Symbolic links on the command line and in file hierarchies are followed.
No symbolic links are followed. This is the default.
Display an entry for each file in a file hierarchy.
Display a grand total.
depth
Display an entry for all files and directories depth directories deep.
Display block counts in 1073741824-byte (1 GiB) blocks.
“Human-readable” output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte based on powers of 1024.
Display block counts in 1024-byte (1 kiB) blocks.
If a file has multiple hard links, count its size multiple times. The default behavior of du is to count files with multiple hard links only once. When the -l option is specified, the hard link checks are disabled, and these files are counted (and displayed) as many times as they are found.
Display block counts in 1048576-byte (1 MiB) blocks.
Ignore files and directories with user “nodump” flag (UF_NODUMP) set.
Generate messages about directories that cannot be read, files that cannot be opened, and so on. This is the default case. This option exists solely for conformance with X/Open Portability Guide Issue 4 (“XPG4”).
Display an entry for each specified file. (Equivalent to -d 0)
“Human-readable” output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte based on powers of 1000.
threshold
Display only entries for which size exceeds threshold. If threshold is negative, display only entries for which size is less than the absolute value of threshold.
File system mount points are not traversed.

The du utility counts the storage used by symbolic links and not the files they reference unless the -H or -L option is specified. If either the -H or -L option is specified, storage used by any symbolic links which are followed is not counted (or displayed). The -H, -L and -P options override each other and the command's actions are determined by the last one specified.

Files having multiple hard links are counted (and displayed) a single time per du execution. Directories having multiple hard links (typically Time Machine backups) are counted a single time per du execution. The -h, -k, -m and --si options all override each other; the last one specified determines the block counts used.

If the environment variable BLOCKSIZE is set, and the -h, -k, -m or --si options are not specified, the block counts will be displayed in units of that block size. If BLOCKSIZE is not set, and the -h, -k, -m or --si options are not specified, the block counts will be displayed in 512-byte blocks.

Show disk usage for all files in the current directory. Output is in human-readable form:

# du -ah

Summarize disk usage in the current directory:

# du -hs

Summarize disk usage for a specific directory:

# du -hs /home

Show name and size of all C files in a specific directory. Also display a grand total at the end:

# du -ch /usr/src/sys/kern/*.c

df(1), chflags(2), fts(3), symlink(7), quot(8)

The du utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification.

The flags [-cdhP], as well as the BLOCKSIZE environment variable, are extensions to that specification.

The flag [-r] is accepted but ignored, for compatibility with systems implementing the obsolete X/Open Commands and Utilities Issue 5 (“XCU5”) standard.

The du utility and its -a and -s options first appeared in Version 1 AT&T UNIX.

The -r option first appeared in AT&T System III UNIX and is available since FreeBSD 3.5. The -k and -x options first appeared in 4.3BSD-Reno and -H in 4.4BSD. The -c and -L options first appeared in the GNU fileutils; -L and -P are available since 4.4BSD-Lite1, -c since FreeBSD 2.2.6. The -d option first appeared in FreeBSD 2.2, -h first appeared in FreeBSD 4.0.

This version of du was written by Chris Newcomb for 4.3BSD-Reno in 1989.

August 1, 2019 macOS 15.2