Disk Usage - report the amount of disk space used by the specified files and for each subdirectory.
Syntax
du [options]... [file]...
With no arguments, 'du' reports the disk space for the current directory. Normally the disk space is printed in units of 1024 bytes, but this can be overridden
OPTIONS
-a
--all
Show counts for all files, not just directories.
-b
--bytes
Print sizes in bytes, overriding the default block size (*note
Block size::).
-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.
-h
--human-readable
Append a size letter such as 'M' for megabytes to each size.
Powers of 1024 are used, not 1000; 'M' stands for 1,048,576 bytes.
Use the '-H' or '--si' option if you prefer powers of 1000.
-H
--si
Append a size letter such as 'M' for megabytes to each size. (SI
is the International System of Units, which defines these letters
as prefixes.) Powers of 1000 are used, not 1024; 'M' stands for
1,000,000 bytes. Use the '-h' or '--human-readable' option if you
prefer powers of 1024.
-k
--kilobytes
Print sizes in 1024-byte blocks, overriding the default block size
(*note Block size::).
-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).
--max-depth=DEPTH
Show the total for each directory (and file if -all) that is at
most MAX_DEPTH levels down from the root of the hierarchy. The
root is at level 0, so 'du --max-depth=0' is equivalent to 'du -s'.
-m
--megabytes
Print sizes in megabyte (that is, 1,048,576-byte) blocks.
-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.
--exclude=PAT
When recursing, skip subdirectories or files matching PAT. For
example, 'du --exclude='*.o'' excludes files whose names end in
'.o'.
-X FILE
--exclude-from=FILE
Like '--exclude', except take the patterns to exclude from FILE,
one per line. If FILE is '-', take the patterns from standard
input.
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.
Examples
List the total files sizes for everything 1 directory (or less) below the currrent directory ( . )
[simon@testserver]$ du -hc --max-depth=1 .
400M ./data1
1.0G ./data2
1.3G .
1.3G total
Display the 10 largest subfolders of the current folder, each with its human redable size:
du -k * | sort -nr | cut -f2 | xargs -d '\n' du -sh | head -n 10
"Never go to a doctor whose office plants have died" ~ Erma Bombeck
Related linux commands:
ls - List information about files.
Equivalent Windows command:
DIRUSE - resource kit utility to show size of multiple subfolders.