Favorite CLI Tools

Command Line Tools

I am a big fan of working in a terminal over working with graphical applications. This is a short list of a few of my favorite tools. I typically prefer tools that have minimal dependencies, like tools written in Go or Rust, and tools that are cross-platform and run on both Linux and Windows. I am also fond of tools that can easily be bundled into a Docker container so I can avoid installing them directly on my systems.

My favorite shell is zsh, though the recently released nushell looks interesting too.

My Favorite CLI Tools

Last Updated: 2019-11-16

  • bat - Drop-in replacement for cat that supports syntax highlighting and git integration
  • direnv - Loads and unloads environment variables based on the current directory
  • exa - A modern take on the ls command with better defaults
  • jk - Define configuration files in terms of JavaScript objects, and exports them to multiple formats like YAML and JSON
  • jq - A tool that makes it easy to parse, query, and transform JSON data
  • oh-my-zsh - A framework of managing your zsh configuration, including plugins, themes, helper functions, and completions
  • tmux - A tool that lets you split a terminal window into multiple views, easily switch between programs, and leave programs running on a remote host