Date: September 11, 2024
Abstract: Given the kind of computer-work most people need to accomplish on a daily basis, with a focus on productivity, system management, and automation, here are the top command-line tools we recommend for your Mac in 2024.
These should give you a powerful, efficient toolkit on your Mac without overloading your system!
Now let's talk Command-Line Tools.
1. Homebrew
- Why: Homebrew is essential as it will allow you to easily install and manage other tools without hassle. It’s a foundation for many of the other tools on the list.
- Install: Yes, definitely.
2. zsh + Oh My Zsh
- Why: You’re already using
zsh
, but Oh My Zsh will give you enhanced functionality, including powerful plugins and themes for a smoother workflow. - Install: Yes, it’ll optimize your terminal experience.
3. Pandoc
- Why: Since you’re already working on document conversions (from Obsidian to Word and HTML), Pandoc is essential for automating and handling those processes.
- Install: Yes, absolutely useful.
4. fzf (Fuzzy Finder)
- Why: This will help you quickly search and locate files or commands in large directories. It speeds up searching in a big way.
- Install: Yes, it’s a productivity booster.
5. bat
- Why: It’s a nicer version of
cat
, with syntax highlighting, which is great when reading or reviewing code/config files. - Install: Yes, especially for reviewing files quickly.
6. exa
- Why: A more modern, colorful, and informative
ls
. It’ll make file navigation much easier and more visual. - Install: Yes, replaces
ls
with more features.
7. htop
- Why: For monitoring system performance, resource usage, and managing processes interactively. Great for keeping an eye on your system.
- Install: Yes, super useful for resource monitoring.
8. tree
- Why: To visualize folder structures in a tree format. It’s helpful for managing and exploring complex directory hierarchies.
- Install: Yes, lightweight and easy to use.
Optional Extras (install if you feel the need):
- ripgrep (rg): If you work with a lot of text or code files and need fast searching, this will speed things up over
grep
. - jq: Useful if you’re working with JSON data frequently, like with APIs or automation scripts.
- Docker: If you want to experiment with containers, but it depends on your project needs.
- rsync: Good for syncing files between systems, useful for backups or if you’re managing files across multiple environments.
Suggested Install Order:
- Homebrew (if not already installed)
- zsh + Oh My Zsh
- Pandoc
- fzf
- bat
- exa
- htop
- tree
To learn more about command-line I'd suggest reading these two articles:
1. 30 MacOS Most Useful MacOS Command-Line Utilities
2. 30 Advanced MacOS Command-Line Utilities
A Personal Note from the Author: The day I wrote this, from my home office, I couldn't help but to recollect that it's now been 23 years since 9-11! I remember well that terrible morning not so much for what was to come but how 'good' life had been leading up to that point. The U.S. Open had just concluded that weekend. On Saturday Venus Williams had just beat her little sister Serena. Passing into Southern CT, I couldn't help but remark what a beautiful summer day it was outside! Our country was in amazing shape! Bill Clinton had done magical work turning around our economy and balancing the budget. But unfortunately, it all unraveled that day. The president who'd taken over for him, George Bush II, turns out had spent more time on vacation playing golf than he'd spent in the Whitehouse leading up to that fraught day. He'd missed the intelligence briefings and had ignored the previous presidents warning about the rise of Al Qaeda. That lack of attention to detail left the door open, a miss that might have stopped the 19 hijackers from taking over the four planes.
My first inkling that something was wrong that morning came over the radio. I was driving out of NYC on my way up to the IBM Southbury campus for work in their data center, I'd been listening to NYC's Public Radio went the station went dead, completely dead, nothing but pure static. It was 8:49 am on my car clock...I remember the time because I'd glanced down at my radio to see what had happened to it. After trying unsuccessfully to reacquire the signal, I switched to 1010 WINS, NYC's 24 hour news channel, that's when I got the news...
My immediate next thought was to I call my brother, who worked for Lehman Brothers, out World Trade Center, Tower 3, the AMEX Building. He'd just gotten out of a taxi when the first plane hit. He was right there at ground zero. All he could say was, "Fuck, Fuck, Fuck, over and over...there are people jumping out of the tower! It's all on fire! He thought it'd been a terrible accident. I told them there's no way it could've ever been an accident and that he needed to get as far away as possible. Before we hung-up I told him how to switch his phone to analog mode, as the new 3G digital networks being installed that year wouldn't be adequate to handle the call volume that was sure to erupt. Sure enough the mobile phone networks were overwhelmed that week. Yet we were able to continue to place voice and text calls without issue...see it helps to have a tech-savvy family member!
My next move was to flip a U-turn, the only illegal U-turn I've ever made to this day...I wasn't the only one. Everywhere, up and down the highway, packed with morning commuters I watched peoples faces as they got the news. After I called my brother, I called work, I knew what the disaster plan called for, IBM would go into lock-down mode. We wouldn't be getting any work done. With data facility in lock-down mode, access would be extremely limited. After that I called friends who worked in Trade Center complex to make sure they were safe. I ended up spending the rest of the day down at a beach in Greenwich, where you could see the trade center. The crowd I was with there were all in tears. I remember holding a strangers hand, her husband worked in the Trade Center complex as well, and she couldn't reach him. It was a scary day. Tho we were in the moment, I knew our world had changed for good, tho not for the better.