Skip to content


Repository files navigation


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.


With homebrew:

brew tap viktomas/taps
brew install godu

With go:

go install

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!

Favourite aliases

# After you exit godu, all selected files get deleted
alias gd="godu -print0 | xargs -0 rm -rf"
# Usage gm ~/destination/folder
# After you exit godu, all selected files get moved to ~/destination/folder
alias gm="godu -print0 | xargs -0 -I _ mv _ "

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