LinuxCommandLibrary

duf

Display disk usage information

TLDR

List accessible devices

$ duf
copy

List everything (such as pseudo, duplicate, or inaccessible file systems)
$ duf --all
copy

Only show specified devices or mount points
$ duf [path/to/directory1 path/to/directory2 ...]
copy

Sort the output by a specified criteria
$ duf --sort [size|used|avail|usage]
copy

Show or hide specific filesystems
$ duf --[only-fs|hide-fs] [tmpfs|vfat|ext4|xfs]
copy

Sort the output by key
$ duf --sort [mountpoint|size|used|avail|usage|inodes|inodes_used|inodes_avail|inodes_usage|type|filesystem]
copy

Change the theme (if duf fails to use the right theme)
$ duf --theme [dark|light]
copy

SYNOPSIS

duf [OPTIONS] [PATH...]

PARAMETERS

--all, -a
    Show all filesystems, including empty ones

--apparent-size, -A
    Display apparent sizes instead of block sizes

--block-size SIZE, -b SIZE
    Specify block size (human, bytes, etc.)

--exclude-caches
    Hide entries like /.cache or ~/.cache

--exclude DEVICE
    Exclude specific devices

--exclude-type TYPE
    Exclude filesystems by type (e.g., squashfs)

--files
    Show individual file sizes

--home, -h
    Show only home directories

--inodes
    Display inode information

--integrate
    Integrate with du for detailed subtree view

--keybindings
    Display keybinding hints

--list-disks
    List available disks

--mount-point DEVICE
    Show only specific mount points

--no-bold
    Disable bold text

--no-colors
    Disable colors

--no-progress
    Disable progress display

--only DEVICE
    Show only specific devices

--output FORMAT
    Custom output format

--pager
    Pipe output to pager

--sort FIELD
    Sort by field (size, used, avail, mount)

--theme THEME
    Select theme (e.g., nord, gruvbox)

--time
    Show last mounted time

--total
    Show totals

--version, -v
    Print version

--help, -H
    Show help

DESCRIPTION

duf is a powerful terminal-based disk usage analyzer designed as a user-friendly alternative to traditional tools like du and df. It provides a colorful, intuitive table view of disk usage across filesystems, mounts, and directories, with real-time sorting, filtering, and interactive features.

Key features include customizable themes, apparent size display, inode information, and support for excluding caches or specific filesystems. Users can sort by usage, size, or mount points using keyboard shortcuts, and it handles large datasets efficiently with progress indicators.

Unlike du's verbose output or df's simplicity, duf offers a responsive UI with mouse support, making it ideal for servers, desktops, and quick checks. Written in Go, it's lightweight, cross-platform, and available via most package managers.

CAVEATS

Not installed by default; requires manual installation via package managers (e.g., brew, apt) or Go. Interactive features may not work in all terminals. High disk activity can slow scans.

KEYBINDINGS

Arrow keys: Navigate/sort columns.
Enter: Drill into directory (with --integrate).
q/Esc: Quit.
r: Refresh.

INSTALLATION

Arch: sudo pacman -S duf
Fedora: sudo dnf install duf
Go: go install github.com/muesli/duf@latest
Brew: brew install duf

HISTORY

Developed by Christian Muehlhaeuser (muesli) in Go, first released in 2020. Gained popularity for its TUI approach, with active maintenance adding themes, integration, and performance improvements. Widely packaged in Arch, Fedora, Homebrew.

SEE ALSO

du(1), df(1), ncdu(1), dust(1)

Copied to clipboard