This site is a blog dedicated to reviewing and cataloging useful command-line tools. There have been an amazing amount of useful utilities produced in the last few years, so many that it’s difficult to keep abreast of new applications that could potentially improve your workflow. I spend a silly amount of my free time trawling the internet for interesting tools, so I’d like to present the results with you!

The commandline is a place that every aspiring computer-person should work to learn. Slightly closer to the machine, slightly closer to the metal, you can start to peel back the layers of the operating system and learn about how our machines work from the inside out. If you get excited and ready to dive in, cli.fan is succeeding.

I am inspired by two absolutely fantastic blogs. Inconsolation has covered many command-line tools that would otherwise be lost to obscurity and history. It made me excited to dive through help output digging for useful features, turning over code paths that are useful decades after they were written. Much in the spirit of inconsolation, which ended in 2015, I hope this blog brings attention to tools which deserve it. My other big inspiration is Arabesque, which explains how to use command-line tools so well. Thank you both, authors, for getting me excited about this stuff too.

Each post on cli.fan will highlight a single open source tool that’s used on the commandline. I am writing this blog on unix-like operating systems (Linux, FreeBSD, OpenBSD, Darwin) and will be highlighting tools that work there. If you would like to donate a Windows machine to the cause, I’d be glad to cover tools that work on Windows too 😄

For each post, I’ll give the same basic information plus any cool facts specific to this tool. Each tool will have:

  • Some sample use-cases (basic and advanced)
  • Screenshots or recorded terminal sessions of the tool in use
  • Link to the source code
  • Quick sense of how “active” the project’s development has been recently

I’m going to be coming at most of these tools as an absolute beginner to keep my tone as approachable as possible. If you find anything amiss or difficult to read, please open an issue on the github page for this repository!