DU(1)

πŸ“¦
version 9.10 Β· 5 versions
, in ubuntu stonking

πŸ’– DU(1) β€” the du glow-up πŸ’–

okay bestie, welcome to DU(1) from the User Commands girlies ✨ this is the manual page for du, and no cap, it's about to become your new main character.


🌸 NAME 🌸

du β€” estimate file space usage πŸŽ€

like… how much room is this actually taking up. the vibe check for your disk, fr fr.


✨ SYNOPSIS ✨

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

πŸ¦‹ DESCRIPTION πŸ¦‹

Summarize device usage of the set of *FILE*s, recursively for directories. 🫢

Mandatory arguments to long options are mandatory for short options too. (yes, that's the rule, that's just how it is)

πŸ’… the options, queen by queen

  • -0, --null β€” end each output line with NUL, not newline. zero drama, literally.
  • -a, --all β€” write counts for all files, not just directories. everybody gets counted bestie.
  • -A, --apparent-size β€” print apparent sizes rather than device usage. the apparent size is usually smaller, but it can be larger too, thanks to holes in ('sparse') files, internal fragmentation, indirect blocks, etc. it's giving deceptive, not gonna lie.
  • -B, --block-size=SIZE β€” scale sizes by SIZE before printing them. See SIZE format below. E.g., -BM prints sizes in units of 1,048,576 bytes πŸ”₯
  • -b, --bytes β€” equivalent to --apparent-size --block-size=1. two moods, one flag.
  • -c, --total β€” produce a grand total. the finale. the sum. iconic.
  • -D, --dereference-args β€” dereference only symlinks that are listed on the command line. picky, and honestly? respect.
  • -d, --max-depth=N β€” 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. yes we said it.
  • --files0-from=F β€” summarize device usage of the NUL-terminated file names specified in file F. if F is -, read names from standard input. πŸ“
  • -H β€” equivalent to --dereference-args (-D).
  • -h, --human-readable β€” print sizes in human readable format (e.g., 1K 234M 2G). yes bestie, words we understand πŸ’–
  • --inodes β€” list inode usage information instead of block usage. inode girlies rise up πŸ‘‘
  • -k β€” like --block-size=1K.
  • -L, --dereference β€” dereference all symbolic links. all of them. no holding back.
  • -l, --count-links β€” count sizes many times if hard linked. messy but valid.
  • -m β€” like --block-size=1M.
  • -P, --no-dereference β€” don't follow any symbolic links. this is the default, so it's giving calm and unbothered 🧚
  • -S, --separate-dirs β€” for directories do not include size of subdirectories. keeps it separate, boundaries slay.
  • --si β€” like -h, but use powers of 1000 not 1024. metric moment.
  • -s, --summarize β€” display only a total for each argument. short and sweet.
  • -t, --threshold=SIZE β€” exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative. gatekeeping, but make it math.
  • --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 β€” time/date format with --time; see TIME_STYLE below.
  • -X, --exclude-from=FILE β€” exclude files that match any pattern in FILE.
  • --exclude=PATTERN β€” exclude files that match PATTERN.
  • -x, --one-file-system β€” skip directories on different file systems. stay in your lane, respectfully.
  • --help β€” display this help and exit 🌈
  • --version β€” output version information and exit.

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).

The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB,... (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on.

The --time-style STYLE argument can be full-iso, long-iso, iso, or +FORMAT. FORMAT is interpreted like in date(1). Also the TIME_STYLE environment variable sets the default style to use.


πŸŽ€ PATTERNS πŸŽ€

PATTERN is a shell pattern (not a regular expression, bestie, they're different, iykyk). 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). honest work πŸ’€


πŸ’œ AUTHOR πŸ’œ

Written by Torbjorn Granlund, David MacKenzie, Paul Eggert, and Jim Meyering. legends, all four of them πŸ‘‘


πŸ™ˆ REPORTING BUGS πŸ™ˆ


⭐ SEE ALSO ⭐


no cap, that's the whole page. go check your disk usage, you gorgeous thing 🫢

packaged by Ubuntu (9.10-1ubuntu2), copyright Β© 2026 Free Software Foundation, Inc., License GPLv3+: GNU GPL version 3 or later <https://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. πŸ’–

and that's a wrap on GNU coreutils 9.10, August 2026, DU(1) β€” bye bestie, slay responsibly βœ¨πŸŽ€πŸ’…

πŸ“¦ where this page comes from