View Disk Usage Visually With agedu



Everyone's familiar with du and similar tricks such as using find to get the biggest files in your filesystem. However, what if I told you there's a better (in my opinion) tool, one that visually shows you, relative to other files in the directory, how old AND how big each file and folder is? Would you call me nuts? Well, guess you better start!

I ventured across this tool called agedu. It's basically du on steroids. The basic idea of it is to present to you with similar data as du, but visually and faster (in that it creates an index of files). Also, most distros already have it in their package managers.

Now, I use Arch Linux and the AUR package for agedu needs to be updated to reflect that the version (and filename) is different. So, basically, I had to install it from source: It's a simple ./configure && make && make install and takes about 30 seconds, so it's not that bad. Once done, you can now use agedu.

But wait! How do I use this magnificent hunk-o-matic system profiling tool?! Easy I tell you, easy!

To start, you need to scan your system (I did my home directory for a test run):

$ agedu -s /home/ehansen
You'll see directories be printed out and stuff, all that boring statistical stuff. After that, you'll see something like this:

[[email protected] ~]$ agedu -s .
Built pathname index, 109434 entries, 10177849 bytes of index
Faking directory atimes
Building index
Final index file size = 28715888 bytes

Yeah, I have a lot of files (mostly WINE and torrented stuff) on my PC. But, the total scan took about 5 seconds, which isn't bad at all for 40GB+ of data residing just in that one directory.

So, how do we see the stuff that makes this program so awesome? Well, I prefer the web-browser method:

agedu -w

This gives similar output as this:

Using Linux /proc/net magic authentication
URL: http://localhost:46924/

The port is randomized (it does have a range of 1024-65535, after all) each time you run the command. You just go to that specific spot and can view files. On mine, it shows a graph of red being 3 weeks and green being ~2 hours. This means that the oldest files of last change/touch was 3 weeks ago while the newest was about 2 hours ago. It's pretty accurate in that regard. You can click on folders to browse them too, if you like.

If you don't want it to listen on localhost, or want it on a specific port, just add this:

Changing to something that works for you (":65535" is optional, and if you want a different port just change the 65535). Now, this brings up one of my favorite topics, security. If we have it listening on a intranet IP, how can we make it secure? It's easier than pretending to be Billy Mayes!

This supports WWW-Basic authentication (potentinally more but not sure). If you want this, then just add this switch:

--auth basic
Now when agedu starts, you'll see something similar to this:

[[email protected] ~]$ agedu -w --auth basic
Username: agedu
Password: 366xcz6h7djbzm0q
URL: http://localhost:46352/

It generates a random password for you each time. If you want to specify your own info:

--auth basic --auth-fd 0
auth-fd uses file descriptors, and fd 0 is matched to stdin (to test this, run ls -liha /dev | grep stdin). You'll get an empty area, just type in your username and password (separated by a ":" without quotes), and then do Ctrl+D. This part is a little annoying but otherwise it's pretty nice.

There's more to this program, but I feel this gives you a good introduction to this software. It's actually quite useful, especially if you are running multiple servers, you can easily make this useful Look for another article soon as I plan on making some changes to the code myself (yay for open-source!).
$100 Digital Ocean Credit
Get a free VM to test out Linux!

Latest posts