du-(1) manual page


du – estimate file space usage


du [OPTION]… [FILE]…
du [OPTION]… –files0-from=F


Summarize disk usage of each FILE, recursively for directories.

Mandatory arguments to long options are mandatory for shortoptions too.

-a, –all
write counts for all files, not just directories
print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in (‘sparse’) files, internal fragmentation, indirect blocks, and thelike
-B, –block-size=SIZE
use SIZE-byte blocks
-b, –bytes
equivalent to ‘–apparent-size –block-size=1
-c, –total
produce a grand total
-D, –dereference-args
dereference only symlinks that are listed on the command line
summarize disk usage of the NUL-terminated file names specified in file F
like –si, but also evokes a warning; will soon change to be equivalent to –dereference-args (-D)
-h, –human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
like -h, but use powers of 1000 not 1024
like –block-size=1K
-l, –count-links
count sizes many times if hard linked
like –block-size=1M
-L, –dereference
dereference all symbolic links
-P, –no-dereference
don’t follow any symbolic links (this is the default)
-0, –null
end each output line with 0 byte rather than newline
-S, –separate-dirs
do not include size of subdirectories
-s, –summarize
display only a total for each argument
-x, –one-file-system
skip directories on different file systems
-X FILE, –exclude-from=FILE
Exclude files that match any pattern in FILE.
Exclude files that match PATTERN.
print the total for a directory (or file, with –all) only if it is N or fewer levels below the command line argument; –max-depth=0 is the same as –summarize
show time of the last modification of any file in the directory, or any of its subdirectories
show time as WORD instead of modification time: atime, access, use, ctime or status
show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like ‘date’
display this help and exit
output version information and exit

SIZE may be (or may be an integer optionally followed by) one of following: kB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y.


PATTERN is a shell pattern (not a regular expression). The pattern ? matches any one character, whereas * matches any string (composed of zero, one or multiple characters). For example, *.o will match any files whose names end in .o. Therefore, the command

du –exclude=’*.o’

will skip all files and subdirectories ending in .o (including the file .o itself).


Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering.

Reporting Bugs

Report bugs to <bug-coreutils@gnu.org>.


Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html >
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

See Also

The full documentation for du is maintained as a Texinfo manual. If the infoand du programs are properly installed at your site, the command

info du

should give you access to the completemanual.