LinuxCommandLibrary

gdu

Analyze disk space usage

TLDR

Interactively show the disk usage of the current directory

$ gdu
copy

Interactively show the disk usage of a given directory
$ gdu [path/to/directory]
copy

Interactively show the disk usage of all mounted disks
$ gdu --show-disks
copy

Interactively show the disk usage of the current directory but ignore some sub-directories
$ gdu --ignore-dirs [path/to/directory1,path/to/directory2,...]
copy

Ignore paths by regex
$ gdu --ignore-dirs-pattern '[.*[abc]+]'
copy

Ignore hidden directories
$ gdu --no-hidden
copy

Only print the result, do not enter interactive mode
$ gdu --non-interactive [path/to/directory]
copy

Do not show the progress in non-interactive mode (useful in scripts)
$ gdu --no-progress [path/to/directory]
copy

SYNOPSIS

gdu [OPTIONS] [PATH]

PARAMETERS

-b, --bytes
    Show sizes in bytes instead of human-readable format

-c, --calculate-only
    Calculate size only, print result to stdout and exit

-h, --help
    Show help message

-n, --no-colors
    Disable colored output

-p, --path-style string
    Path display style: abs (absolute, default) or rel (relative)

-s, --summarize
    Show only the total size of the directory

-V, --version
    Print version information and exit

DESCRIPTION

gdu is a high-performance disk usage analyzer designed for Linux terminals, offering a full-screen, interactive user interface similar to ncdu but significantly faster due to its implementation in Go with parallel processing.

It quickly scans directories, computing sizes, item counts, and percentages, displaying them in a navigable tree view. Users can drill down into subdirectories, sort by size or name, toggle between logical (apparent) and physical (on-disk) sizes, and even delete files or directories directly from the interface.

Key strengths include rapid scanning of large filesystems (often 5-10x faster than alternatives), color-coded output for readability, and support for ignoring patterns configured via XDG config. Non-interactive modes allow simple size reporting for scripts.

Perfect for system administrators and users needing to reclaim disk space efficiently without leaving the terminal.

CAVEATS

Interactive UI requires a terminal with alternate screen buffer support (most modern terminals); resize terminal after launch if needed. Deletion feature is powerful—use with caution to avoid accidental data loss.

UI NAVIGATION

Arrow keys or hjkl to navigate; d to delete; s toggle sizes; a toggle apparent size; o open files; q quit.
Full keybinds in man gdu(1).

CONFIGURATION

Customize ignore patterns in $XDG_CONFIG_HOME/gdu/gdu.toml or ~/.config/gdu/gdu.toml for excluding dirs like .git, node_modules.

HISTORY

Developed by dustycloud starting in 2019 as a Go rewrite of ncdu for better speed and concurrency. First stable release in 2020; actively maintained with versions up to 5.x, focusing on performance optimizations and UI enhancements.

SEE ALSO

ncdu(1), du(1), dust(1), tdu(1)

Copied to clipboard