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 github.com/viktomas/godu@latest
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
node_modules
>
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!
# 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 marked/unmarked with the space key. Upon exiting, godu prints all marked files/folders to stdout. You can further process them with commands like xargs.
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