# man > du(1)

---
type: CommandReference
command: du
mode: man
section: 1
source: man-pages
---

## Quick Reference
- List sizes of a directory and subdirectories in a given unit: `du -{{b|k|m}} {{path/to/directory}}`
- List sizes in human-readable form: `du -h {{path/to/directory}}`
- Show size of a single directory in human-readable units: `du -sh {{path/to/directory}}`
- List human-readable sizes of a directory and all files: `du -ah {{path/to/directory}}`
- List sizes up to N levels deep: `du -h --max-depth {{n}} {{path/to/directory}}`
- List human-readable size of all `.jpg` files with a cumulative total: `du -ch *.jpg`
- List all files and directories above a threshold size (including hidden ones): `du -ah --threshold {{1G|1024M|1048576K}} .[^.]* *`

## Name
du - estimate file space usage

## Synopsis
`du [OPTION]... [FILE]...`
`du [OPTION]... --files0-from=F`

## Options
- `-h, --human-readable` — Print sizes in human-readable format (e.g., 1K, 234M, 2G).
- `--si` — Like `-h`, but use powers of 1000 not 1024.
- `-k` — Equivalent to `--block-size=1K`.
- `-m` — Equivalent to `--block-size=1M`.
- `-B, --block-size=SIZE` — Scale sizes by SIZE before printing (e.g., `-BM` prints in MiB).
- `-b, --bytes` — Equivalent to `--apparent-size --block-size=1`.
- `--apparent-size` — Print apparent sizes rather than actual disk usage.
- `--inodes` — List inode usage instead of block usage.

- `-s, --summarize` — Display only a total for each argument.
- `-c, --total` — Produce a grand total.
- `-S, --separate-dirs` — For directories, do not include size of subdirectories.
- `-d, --max-depth=N` — Print totals for directories only N levels deep; `--max-depth=0` equals `--summarize`.

- `-a, --all` — Write counts for all files, not just directories.
- `-t, --threshold=SIZE` — Exclude entries smaller than SIZE (positive) or greater (negative).
- `--exclude=PATTERN` — Exclude files matching shell pattern PATTERN.
- `-X, --exclude-from=FILE` — Exclude files matching any pattern in FILE.
- `--files0-from=F` — Read NUL-terminated file names from FILE (use `-` for stdin).

- `-L, --dereference` — Dereference all symbolic links.
- `-P, --no-dereference` — Don't follow any symbolic links (default).
- `-D, --dereference-args` — Dereference only symlinks listed on the command line.
- `-l, --count-links` — Count sizes multiple times if hard linked.

- `-x, --one-file-system` — Skip directories on different file systems.

- `--time` — Show time of last modification; can be refined with `--time=WORD` (atime, access, use, ctime, status) and `--time-style=STYLE`.
- `-0, --null` — End each output line with NUL, not newline.

- `--help` — Display help and exit.
- `--version` — Output version information and exit.

## See Also
- [Full documentation](https://www.gnu.org/software/coreutils/du)
- Local info: `info '(coreutils) du invocation'`