Version: Jul 11, 2026
Linux & Unix CLI Terminal Toolbox
This page is a growing collection of terminal tools that I frequently use on Linux and macOS. Rather than searching the web every time I set up a new machine, I keep my favorite install commands and a few useful notes here.
Every command on this page has been tested by me. Where applicable, I’ll note the operating system or distribution that was used during testing.
tree (macOS)
Tested with: Homebrew on macOS
The tree utility displays directories as a hierarchical tree, making it much easier to visualize folder structures from the terminal. I mainly use this for my READMEs. It really is the way to go for creating CLI folder path representations. Now with AI, its a must. Imagine having a README, with a full tree of your project. Talk about getting your AI project up to speed with all that context.
Install
brew install tree
Verify Installation
tree --version
Example
tree -L2
output:
.
├── !Archive
│ ├── Ops-vm
│ ├── dds-sync
│ ├── dreblowdesigns.com.conf
│ ├── info.ini
│ └── linode
├── README.md
├── ansible
│ ├── ansible.cfg
│ ├── inventory
│ ├── playbooks
│ └── roles
├── gateway-vm
│ └── README-gateway.md
├── host
│ ├── README-Host.md
│ ├── compose
│ ├── config
│ ├── images
│ └── secrets
└── tools
├── macos
└── scripts
18 directories, 6 files
This is from a real project of mine with 2 levels, that -L2
As you could guess, tree --help gives you the full spiel of information, so jump in and check it out! Highly recommend it.
tmux (Ubuntu Server)
Tested with: Ubuntu Server 24.04 x86
tmux is a terminal multiplexer that allows multiple terminal sessions to run inside a single SSH connection. It’s one of my favorite tools for remote Linux administration because sessions continue running even after disconnecting.
Install
sudo apt update
sudo apt install tmux
Verify Installation
tmux -V
Start a New Session
tmux
Or create a named session:
tmux new -s my-session-name
When you want to disconnect, press Ctrl+b, then d.
SSH back in later:
tmux attach -t my-session-name
That's it! Because if you leave your shell, whatever process you have running will stop. What's a good example? How about migrating 5TB of data from one drive to and another and use rsync, use tmux to set it and forget it. But you should come back to see how things are going periodically 😃