duf
modern disk usage and free space utility
TLDR
SYNOPSIS
duf [options] [paths...]
DESCRIPTION
duf (Disk Usage/Free) is a modern replacement for the df command with a colorful, user-friendly terminal interface. It displays disk usage and free space for mounted filesystems in an organized table format.The tool provides a clear visual representation with color-coded usage bars, making it easy to identify nearly-full filesystems at a glance. It groups filesystems by type (local, network, special) for better organization.duf automatically handles various filesystem types and units, displaying sizes in human-readable format. It supports multiple output formats including JSON for scripting.
PARAMETERS
--all
Include pseudo, duplicate, and inaccessible filesystems.--only devices / --hide devices
Show only, or hide, specific device groups: `local`, `network`, `fuse`, `special`, `loops`, `binds`. Comma-separated.--only-fs types / --hide-fs types
Show only, or hide, specific filesystem types such as `ext4` or `tmpfs`.--only-mp paths / --hide-mp paths
Show only, or hide, specific mount points. Wildcards are supported.--inodes
List inode usage instead of block usage.--json
Output every device as JSON.--output fields
Choose the columns to display, comma-separated.--sort field
Sort by a column. Defaults to `mountpoint`.--style style
Table style: `unicode` or `ascii`.--theme theme
Colour theme: `dark`, `light`, or `ansi`.--width n
Maximum output width.--avail-threshold sizes
Colouring thresholds (yellow, red) for the available column. Defaults to `10G,1G`.--usage-threshold fractions
Colouring thresholds (yellow, red) for the usage bars, as fractions from 0 to 1. Defaults to `0.5,0.9`.--warnings
Print warnings to stderr.
INSTALL
CAVEATS
The grouping flags are easy to mix up. --only and --hide take *device groups* (`local`, `network`, `fuse`, `special`, `loops`, `binds`), not filesystem types or paths. For filesystem types use --only-fs/--hide-fs, and for paths --only-mp/--hide-mp.duf is a display tool, not a `df` replacement in scripts: the table is meant for humans, and colour and box-drawing characters will corrupt anything that parses it. Use --json when the output feeds another program.By default it omits pseudo-filesystems, so a mount you expect to see may need --all to appear. A hung network filesystem can make duf block, exactly as `df` does, since both must stat the mount point.
HISTORY
duf was written by Christian Muehlhaeuser in 2020 in Go, one of a wave of tools that took a venerable Unix utility and asked what it would look like if the terminal had colour, Unicode, and a wide screen, which it had not when `df` was written. It caught on quickly, since reading `df` output is a small daily irritation for a great many people and duf's grouped, colour-coded table removes it.
