DU(1)

NAME
du - estimate file space usage

SYNOPSIS
du [options] [file...]

POSIX options: [-askx] [--]

GNU options (shortest form): [-abcDhHklLmsSxX] [--block-size=size] [--exclude=pattern] [--max-depth=n] [--help] [--version] [--]

DESCRIPTION
du reports the amount of disk space used by the specified files, and by each directory in the hierarchies rooted at the specified files. Here `disk space used' means space used for the entire file hierarchy below the specified file.

With no arguments, du reports the disk space for the current directory.

POSIX DETAILS
The output is in 512-byte units by default, but in 1024-byte units when the -k option is given.

GNU DETAILS
The output is in 1024-byte units (when no units are specified by options), unless the environment variable POSIXLY_CORRECT is set, in which case POSIX is followed.

POSIX OPTIONS

-a  Show counts for all files encountered, not just directories.

-k  Use 1024-byte units instead of the default 512-byte units.

-s  Only output space usage for the actual arguments given, not for their subdirectories.

-x  Only count space on the same device as the argument given.

--  Terminate option list.

GNU OPTIONS

-a, --all
    Show counts for all files, not just directories.

-b, --bytes
    Print sizes in bytes, instead of kilobytes.

--block-size=size
    Print sizes in blocks of size bytes. (New in fileutils-4.0.)

-c, --total
    Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk usage of a given set of files or directories.

-D, --dereference-args
    Dereference symbolic links that are command line arguments. Does not affect other symbolic links. This is helpful for finding out the disk usage of directories, such as /usr/tmp, which are often symbolic links.

--exclude=pattern
    When recursing, skip subdirectories or files matching pattern. The pattern may be any standard Bourne shell file glob pattern. (New in fileutils-4.0.)

-h, --human-readable
    Append a size letter, such as M for binary megabytes (`mebibytes'), to each size.

-H, --si
    Do the same as for -h, but use the official SI units (with powers of 1000 instead of 1024, so that M stands for 1000000 instead of 1048576). (New in fileutils-4.0.)

-k, --kilobytes
    Print sizes in KiB (binary kilobytes, 1024 bytes).

-l, --count-links
    Count the size of all files, even if they have appeared already (as a hard link).

-L, --dereference
    Dereference symbolic links (show the disk space used by the file or directory that the link points to instead of the space used by the link).

-m, --megabytes
    Print sizes in MiB (binary megabytes, 1048576 bytes).

--max-depth=n
    Print the total for a directory (or file, with the -a flag) only if it is n or fewer levels below the command line argument; --max-depth=0 is the same as the -s flag. (New in fileutils-4.0.)

-s, --summarize
    Display only a total for each argument.

-S, --separate-dirs
    Report the size of each directory separately, not including the sizes of subdirectories.

-x, --one-file-system
    Skip directories that are on different filesystems from the one that the argument being processed is on.

-X file, --exclude-from=file
    Like --exclude, except take the patterns to exclude from the specified file. Patterns are listed one per line. If file is given as `-', patterns are read from standard input. (New in fileutils-4.0.)

GNU STANDARD OPTIONS

--help
    Print a usage message on standard output and exit successfully.

--version
    Print version information on standard output, then exit successfully.

--  Terminate option list.

BUGS
On BSD systems, du reports sizes that are half the correct values for files that are NFS-mounted from HP-UX systems. On HP-UX systems, it reports sizes that are twice the correct values for files that are NFS-mounted from BSD systems. This is due to a flaw in HP-UX; it also affects the HP-UX du program.

ENVIRONMENT
The variable POSIXLY_CORRECT determines the choice of unit. If it is not set, and the variable BLOCKSIZE has a value starting with `HUMAN', then behaviour is as for the -h option, unless overridden by -k or -m options. The variables LANG, LC_ALL, LC_CTYPE and LC_MESSAGES have the usual meaning.

CONFORMING TO
POSIX 1003.2

NOTES
This page describes du as found in the fileutils-4.0 package; other versions may differ slightly.