Simple golang utility helping to discover large files/folders.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status codecov Go Report Card Gitter chat

Find the files that are taking up your space.

Tired of looking like a noob with Disk Inventory X, Daisy Disk or SpaceMonger? Do you want something that

  • can do the job
  • scans your drive blazingly fast
  • works in terminal
  • makes you look cool
  • is written in Golang
  • you can contribute to


Well then look no more and try out the godu.


go get -u

Or grab a Released binary for your OS and architecture, extract it and put it on your $PATH e.g. /usr/local/bin.


You can specify names of ignored folders in .goduignore in your home directory:

> cat ~/.goduignore

I found that I could reduce time it took to crawl through the whole drive to 25% when I started ignoring all node_modules which cumulatively contain gigabytes of small text files.

The .goduignore is currently only supporting whole folder names. PR that will make it work like .gitignore is welcomed.


godu ~
godu -l 100 / # walks the whole root but shows only files larger than 100MB
# godu -print0 ~ | xargs -0 rm # use with caution! Will delete all marked files!

The currently selected file / folder can be un/marked with the space-key. Upon exiting, godu prinsts all marked files & folders to stdout so they can be further processed (e.g. via the xargs command).

Mind you -l <size_limit_in_mb> option is not speeding up the walking process, it just allows you to filter small files you are not interested in from the output. The default limit is 10MB.

Use arrows (or hjkl) to move around, space to select a file / folder, ESC, q or CTRL+C to quit