Linux du command

Updated: 11/06/2021 by Computer Hope
du command

On Unix-like operating systems, the du command estimates and displays the disk space used by files.

This page covers the GNU/Linux version of du.

Syntax

du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F

Options

-a, --all Write counts for all files, including directories.
--apparent-size 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, and indirect blocks.
-B, --block-size=SIZE Scale sizes by SIZE before printing them. For example, '-BM' prints sizes in units of 1,048,576 bytes. (see SIZE format below).
-b, --bytes Equivalent to '--apparent-size --block-size=1'.
-c, --total Display a grand total.
-D,
--dereference-args
Dereference only symlinks that are listed on the command line.
--files0-from=F Summarize disk usage of the null-terminated file names specified in file F; If F is "-" then read names from standard input.
-H Equivalent to --dereference-args (-D).
-h,
--human-readable
Print sizes in human readable format, rounding values and using abbreviations. For example, "1K", "234M", "2G", etc.
--si Like -h, but use powers of 1000, not 1024.
-k Like --block-size=1K.
-l, --count-links Count sizes often if hard-linked.
-m 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,
--exclude-from=FILE
Exclude files that match any pattern in FILE.
--exclude=PATTERN Exclude files that match PATTERN.
-d, --max-depth=N Print the total for a directory (or file, with --all) only if it's N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize.
--time Show time of the last modification of any file in the directory, or any of its subdirectories.
--time=WORD Show time as WORD instead of modification time: atime, access, use, ctime or status.
--time-style=STYLE Show times using style STYLE: full-iso, long-iso, iso, or +FORMAT. (FORMAT is interpreted like the format of 'date'.)
--help Display a help message and exit.
--version Output version information and exit.

SIZE format

Display values are in units of the first available SIZE from --block-size, and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).

SIZE is an integer and optional unit (example: 10M is 10*1024*1024). Units are K, M, G, T, P, E, Z, Y (powers of 1024) or KB, MB, ... (powers of 1000).

Examples

du -s *.txt

Reports the size of each file in the current directory with the extension .txt. Below is an example of the output:

8       file1.txt
8       file2.txt
10      file3.txt
2       file4.txt
8       file5.txt
8       file6.txt
du -shc *.txt

Display the same data, but in a "human-readable" size format, and display a grand total.

8.0K    file1.txt
8.0K    file2.txt
10.0K   file3.txt
2.0K    file4.txt
8.0K    file5.txt
8.0K    file6.txt
44.0K   total

df — Report the amount of available disk space on file systems.
ls — List the contents of a directory or directories.