Terminal Tools

2 min read

Unless I am logged into a server (typically some Linux distro), I'm mostly using macOS.

There are lots of useful command line tools that come as part of macOS, but there are lots of third party tools that can be installed which are excellent and powerful.

In this post I'm going to record some of the ones I use.

Terminal Emulator

I stopped using Apple's Terminal.app many years ago and switched to the powerful iTerm 2.

I'm currently evaluating Ghostty which I am liking for some things, and finding lacking in some areas compared to iTerm 2. This is to be expected - Ghostty is a new project.

Shell

I've gone from bash to zsh and now use fish.

Command Line Tools

In no particular order:

  • homebrew
    • the package manager I use to install most things
  • bat
    • a great replacement for cat
  • hexyl
    • hex viewer
  • fd
    • blazingly fast replacement for find with better ergonomics too
  • ripgrep
    • blazingly fast replacment for grep with better ergonomics too
  • htop
    • 'an interactive process viewer'
  • jq
    • 'a lightweight and flexible command-line JSON processor'. Whenever I need to wrangle some JSON file or just pretty print it - jq is what I turn to.
  • uv
    • Python tooling is hell. uv feels like the cure.
  • swiftly
    • Relatively new addition. A nice way to install different versions of Swift without being tied to Xcode.
  • ffmpeg
    • 'A complete, cross-platform solution to record, convert and stream audio and video.'
  • yt-dlp
    • For when I want to download a video from YouTube.

If you are developer who isn't familliar or comfortable with using the command line, you owe it to yourself to learn about it. It will open up a whole new world of powerful techniques and capabilities.