Linux Blog


Section: User Commands (1)
Updated: March 2007
Index Return to Main Contents


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 short options 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 the like
-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 FILEs that are symbolic links
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.  


Report bugs to <>.  


Copyright © 2007 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of the GNU General Public License <>. There is NO WARRANTY, to the extent permitted by law.  


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

should give you access to the complete manual.




Linux Blog


examples of using du

File Transfer Disk Space Tip