DU(1)

NAME
du - display disk usage statistics

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

DESCRIPTION
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:

-A  Display the apparent size instead of the disk usage. This can be helpful when operating on compressed volumes or sparse files.

-B 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.

-H  Symbolic links on the command line are followed, symbolic links in file hierarchies are not followed.

-I mask
    Ignore files and directories matching the specified mask.

-L  Symbolic links on the command line and in file hierarchies are followed.

-P  No symbolic links are followed. This is the default.

-a  Display an entry for each file in a file hierarchy.

-c  Display a grand total.

-d depth
    Display an entry for all files and directories depth directories deep.

-g  Display block counts in 1073741824-byte (1 GiB) blocks.

-h  “Human-readable” output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte based on powers of 1024.

-k  Display block counts in 1024-byte (1 kiB) blocks.

-l  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.

-m  Display block counts in 1048576-byte (1 MiB) blocks.

-r  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 xpg4.

-s  Display an entry for each specified file. (Equivalent to -d 0)

- -si
    “Human-readable” output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte based on powers of 1000.

-t 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.

-x  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.

The -h, -k, -m and - -si options all override each other; the last one specified determines the block counts used.

ENVIRONMENT

BLOCKSIZE
    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.

EXAMPLES
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

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

STANDARDS
The du utility is compliant with the p1003.1-2008 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 xcu5 standard.

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

The -r option first appeared in AT&T UNIX III 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.

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