Fast TUI Disk Usage Explorer
Explore massive directories in seconds with a responsive ncurses UI, parallel scanning, and smart caching.
Why fastdu?
Parallel & precise
Deep work-queue with multiple threads plus robust openat/fstatat for correct size accounting without following symlinks.
Persistent cache
Stores directory sizes and metadata at the scan root for instant reloads and targeted rescans when content changes.
Responsive TUI
Clean ncurses UI with sorting (size/name/mtime), filters, incremental find/regex, and preserved selection.
Safe operations
Mark entries for bulk move/copy/delete with conflict handling and progress bars, updating cache and totals on the fly.
Flexible display
Left size column: numeric/percent/off (I). Right info: mtime/owner+perm/hidden (i). Tweak views to your workflow.
Battle‑tested
Designed for large trees and fast iteration, informed by gdu/ncdu patterns and careful concurrency in C (pthreads + atomics).
Install
Fedora / RHEL
sudo dnf install gcc make ncurses-devel
make
./fastdu [path]
Generic build
# Requirements
# - C11 compiler (gcc/clang)
# - ncurses (wide-char)
# - pthreads
make
./fastdu [options] [path]
Run from source
git clone https://github.com/anidisc/fastdu
cd fastdu
make && ./fastdu
Key shortcuts
Navigation
- Up/Down or j/k — select
- Enter or Right/l — open directory
- Backspace or Left — go up
- b — top, e — end
View & search
- o — sort (size/name/mtime), s — asc/desc
- I — size column (numeric → percent → off)
- i — info column (mtime → owner+perm → hidden)
- f — find, F — regex, n/N — next/prev
- t — filter (all/dirs/files), T — toggle filter by query
Operations
- Space — mark/unmark, Ctrl‑A — select/deselect all
- m — move, c — copy, d — delete
- r — rescan selected, R — rescan current
Full help is available in‑app with h.
Open source and ready for contributions
Issues, ideas, and PRs are welcome. Check the repository for roadmap and TODOs.
Go to GitHub