DU(1)

πŸ“¦ version 0.12.0, in arch rolling

πŸ’– DU(1) β€” General Commands Manual πŸ’–

okay bestie, welcome to the du(1) page from the General Commands Manual. She estimates file space usage and she is lowkey iconic for it. Let’s get into it, no cap. 🫢

🌸 NAME 🌸

du β€” estimate file space usage. That’s the whole name, and she ate. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

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

πŸ’… DESCRIPTION πŸ’…

Estimate file space usage. Yep, that’s the job, and du is doing it. ✨

✨ OPTIONS ✨

okay so here are all the flags, and I mean all of them. No skipping, bestie. πŸŽ€

  • --help β€” print help information. Literally the β€œhelp me understand you” button. 🫢
  • -a, --all β€” write counts for all files, not just directories. Every file gets counted, not just the directories, slay. πŸ”₯
  • -A, --apparent-size β€” print apparent sizes, rather than disk usage. Note that the apparent size is usually smaller, but it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like. So yeah, it’s giving β€œsizes are complicated.” 😭
  • -B, --block-size <SIZE> β€” scale sizes by SIZE before printing them. E.g., '-BM' prints sizes in units of 1,048,576 bytes. Peep the SIZE format below. πŸ’–
  • -b, --bytes β€” equivalent to --apparent-size --block-size=1. That’s the whole vibe. ✨
  • -c, --total β€” produce a grand total. A little finale moment, periodt. πŸ‘‘
  • -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. Depth control, bestie. πŸŽ€
  • -h, --human-readable β€” print sizes in human readable format (e.g., 1K 234M 2G). So much easier to read, thank goodness. 🌸
  • --inodes β€” list inode usage information instead of block usage, like --block-size=1K. Inode era. πŸ¦‹
  • -k β€” like --block-size=1K. Simple, iconic. πŸ’…
  • -l, --count-links β€” count sizes many times if hard linked. Yep, many times. Not once. Many. πŸ’€
  • -L, --dereference β€” follow all symbolic links. All of them. No holding back. πŸ”₯
  • -D, --dereference-args β€” follow only symlinks that are listed on the command line. Only the ones on the command line, bestie. πŸŽ€
  • -P, --no-dereference β€” don’t follow any symbolic links (this is the default). The default is no following, and that’s that. ✨
  • -m β€” like --block-size=1M. Another unit moment. 🌈
  • -0, --null β€” end each output line with 0 byte rather than newline. Null byte finale, iykyk. 🫢
  • -S, --separate-dirs β€” do not include size of subdirectories. Keep those subdirectory sizes out of it. πŸ’œ
  • -s, --summarize β€” display only a total for each argument. Just the total, nothing extra. πŸ‘‘
  • --si β€” like -h, but use powers of 1000 not 1024. Metric-ish energy. ⭐
  • -x, --one-file-system β€” skip directories on different file systems. Stay in your lane, filesystem-wise. πŸ¦‹
  • -t, --threshold <SIZE> β€” exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative. Positive and negative are doing different things, so read carefully, bestie. 😭
  • -v, --verbose β€” verbose mode (option not present in GNU/Coreutils). She’s chatty, but only where she exists. πŸ’…
  • --exclude <PATTERN> β€” exclude files that match PATTERN. Bye-bye, matching files. πŸŽ€
  • -X, --exclude-from <FILE> β€” exclude files that match any pattern in FILE. Pattern list energy. 🌸
  • --files0-from <FILE> β€” summarize device usage of the NUL-terminated file names specified in file F; if F is -, then read names from standard input. NUL-terminated names, and - means stdin. 🫢
  • --time[=<WORD>...] β€” show time of the last modification of any file in the directory, or any of its subdirectories. If WORD is given, show time as WORD instead of modification time: atime, access, use, ctime, status, birth or creation. Possible values:
    • atime
    • ctime
    • creation
  • --time-style <STYLE> β€” show times using style STYLE: full-iso, long-iso, iso, +FORMAT; FORMAT is interpreted like date. Time styling, slay. ⏰✨
  • -V, --version β€” print version. Version check complete. πŸ’–

πŸŽ€ EXTRA πŸŽ€

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). Environment variable lore, bestie. 🌈

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). Units can be decimal, hexadecimal, octal, binary. Number-format range, periodt. πŸ’…

PATTERN allows some advanced exclusions. For example, the following syntaxes are supported:

  • ? will match only one character
  • * will match zero or more characters
  • {a,b} will match a or b

Pattern matching is serving advanced-exclusion realness. πŸ¦‹

πŸ‘‘ VERSION πŸ‘‘

v(uutils coreutils) 0.12.0 β€” that’s the version, bestie. πŸ‘‘

signed off with v(uutils coreutils) 0.12.0, dated 2026-09-17 β€” mwah πŸ’‹

πŸ“¦ where this page comes from