DU(1)

NAME
du - display disk usage statistics

SYNOPSIS
du [-a | -s] [-chkrx] [-H | -L | -P] [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. Note that the system block usage is usually greater than the actual size of the file. 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 an entry for each file in the file hierarchy.

-c  Display the grand total after all the arguments have been processed.

-H  Symbolic links on the command line are followed. Symbolic links encountered in the tree traversal are not followed.

-h  "Human-readable" output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte in order to reduce the number of digits to four or less.

-k  By default, all sizes are reported in 512-byte block counts. The -k option causes the numbers to be reported in kilobyte counts.

-L  All symbolic links are followed.

-P  No symbolic links are followed.

-r  Generate messages about directories that cannot be read, files that cannot be opened, and so on. This is the default.

-s  Display only the grand total for the specified files.

-x  File system mount points are not traversed.

It is not an error to specify more than one of the mutually exclusive options -h and -k. Where more than one of these options is specified, the last option given overrides the others.

du 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 options are 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.

ENVIRONMENT

BLOCKSIZE
    Block counts will be displayed in units of this size block, unless the -k or -h option is specified.

EXIT STATUS

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

STANDARDS
The du utility is compliant with the p1003.1-2008 specification.

The flags [-chP], 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
A du command first appeared in AT&T UNIX.

AUTHORS
-nosplit This version of du was written by Chris Newcomb for 4.3BSD Reno in 1989 and incorporates later contributions from Elan Amir, Keith Bostic, Luke Mewburn, Matt Bing, and Can Erkin Acar <canacar@openbsd.org>.