7 Terminal Tools I Can't Live Without (That Most Developers Don't Know About)
Source: Dev.to
7 Terminal Tools I Can’t Live Without
Most developers don’t know about these gems
Source: Dev.to – 7 Terminal Tools I Can’t Live Without (Most Developers Don’t Know About)
1. tldr
A community‑driven cheat sheet for the most common command‑line tools.
Instead of scrolling through massive man pages, you get concise examples.
# Install (via npm, Homebrew, or apt)
npm i -g tldr # npm
brew install tldr # macOS
sudo apt install tldr # Debian/Ubuntu
# Usage
tldr tar # shows short tar examples
tldr -u # update the cache2. bat
A cat clone with syntax highlighting, Git integration, and line numbers.
# Install
brew install bat # macOS
sudo apt install bat # Debian/Ubuntu
# Usage
bat myscript.sh # view with colors & line numbers
bat -p file.txt # pipe output to other commands3. fd
A simple, fast, and user‑friendly alternative to find.
It respects .gitignore by default and has a cleaner syntax.
# Install
brew install fd # macOS
sudo apt install fd-find # Debian/Ubuntu (binary is `fdfind`)
# Usage
fd *.py # find all Python files
fd -t d # list only directories
fd -e js -e ts src/ # search for .js or .ts in src/4. ripgrep (rg)
A line‑oriented search tool that’s faster than grep and respects .gitignore.
# Install
brew install ripgrep # macOS
sudo apt install ripgrep # Debian/Ubuntu
# Usage
rg "TODO" . # search for TODO in current dir
rg -i "error" logs/ # case‑insensitive search
rg --files-with-matches "pattern" # list matching files only5. httpie
A user‑friendly HTTP client that makes API testing a breeze (think curl with colors).
# Install
pip install httpie # via pip
brew install httpie # macOS
# Usage
http GET https://api.github.com/users/octocat
http POST https://httpbin.org/post name=Bob age:=30
http -v https://example.com # verbose output6. fzf
A general‑purpose fuzzy finder that can be piped into any command line workflow.
# Install
brew install fzf # macOS
sudo apt install fzf # Debian/Ubuntu
# Usage examples
# 1️⃣ Interactive file picker
vim $(fzf)
# 2️⃣ Search command history
history | fzf
# 3️⃣ Combine with `git`
git checkout $(git branch | fzf)7. zoxide
A smarter cd that learns your directory usage patterns and lets you jump there instantly.
# Install
brew install zoxide # macOS
sudo apt install zoxide # Debian/Ubuntu
# Add to shell rc (bash, zsh, fish)
eval "$(zoxide init bash)" # or zsh/fish
# Usage
z src # jumps to the most frequented `src` directory
z .. # go up one level (fallback to normal cd)
z - # go back to previous locationQuick Reference Table
| Tool | Primary Use | Install (macOS) | Install (Linux) |
|---|---|---|---|
tldr | Concise man‑page cheat sheets | brew install tldr | sudo apt install tldr |
bat | Cat with syntax highlighting | brew install bat | sudo apt install bat |
fd | Faster find | brew install fd | sudo apt install fd-find |
ripgrep (rg) | Fast grep alternative | brew install ripgrep | sudo apt install ripgrep |
httpie | Friendly HTTP client | brew install httpie | pip install httpie |
fzf | Fuzzy finder for any pipeline | brew install fzf | sudo apt install fzf |
zoxide | Smart cd | brew install zoxide | sudo apt install zoxide |
Why These Tools Matter
- Speed: All of them are written in Rust or Go, giving you near‑native performance.
- ** ergonomics:** They reduce the amount of typing and mental overhead required for everyday tasks.
- Community: Each project has an active community, meaning frequent updates and plenty of examples.
Give them a try—once you integrate even one of these into your workflow, you’ll wonder how you ever lived without it!
I Spend 80 % of My Day in the Terminal
Over the years I’ve collected tools that save me hours every week — but when I mention them to other developers, most have never heard of them.
Here are 7 terminal tools that feel like cheat codes. All free. All game‑changers.
1. fzf — Fuzzy Finder (The One Tool to Rule Them All)
What it does – Fuzzy‑search anything: files, command history, git branches, processes, you name it.
Why it’s life‑changing
- Forget typing exact file paths. Just type a few letters and
fzffinds it.
# Find any file in your project
find . | fzf
# Search command history (replace Ctrl+R forever)
history | fzf
# Checkout a git branch interactively
git branch | fzf | xargs git checkout
# Kill a process without remembering the PID
ps aux | fzf | awk '{print $2}' | xargs killBefore fzf – “What was that config file called again? Where did I put it?”
After fzf – Type three letters. Found it. Done.
📦 Install: brew install fzf | apt install fzf
2. lazydocker — Docker Dashboard in Your Terminal
What it does – A beautiful TUI for managing containers, images, volumes, and logs.
Why it’s life‑changing
If you’re tired of typing docker ps, docker logs, docker stats over and over, this is your new best friend.
# Just run it
lazydockerFeatures:
- Live container stats (CPU, memory, network)
- Logs with search & filtering
- One‑key restart, stop, remove
- Bulk cleanup of unused images/volumes
It’s like Docker Desktop — but in your terminal, on any server, with zero overhead.
📦 Install: brew install lazydocker | go install github.com/jesseduffield/lazydocker@latest
3. bat — cat But Beautiful
What it does – cat with syntax highlighting, line numbers, and git‑diff integration.
Why it’s life‑changing
# Instead of:
cat index.js
# Use:
bat index.jsYou get:
- Automatic syntax highlighting for 100+ languages
- Line numbers
- Git changes highlighted in the margin
- Automatic paging for long files
Once you use bat, plain cat feels like reading code on a typewriter.
📦 Install: brew install bat | apt install bat
4. tldr — Man Pages for Humans
What it does – Simplified, practical man pages with real examples.
Why it’s life‑changing
When was the last time you read a man page and immediately understood what to do?
# Instead of:
man tar # 500 lines of dense text
# Use:
tldr tarSample output
tar
Archiving utility.
- Create an archive from files:
tar cf target.tar file1 file2 file3
- Extract an archive:
tar xf source.tar
- Create a gzipped archive:
tar czf target.tar.gz file1 file2That’s it. No PhD required.
📦 Install: npm install -g tldr | brew install tldr
5. ncdu — Where Did My Disk Space Go?
What it does – Interactive disk‑usage analyzer. Find what’s eating your storage in seconds.
Why it’s life‑changing
Every developer has had that moment: “Disk full? But I barely have anything on here!”
# Scan current directory
ncdu
# Scan entire server
ncdu /You get an interactive file‑tree sorted by size. Navigate with arrow keys, press d to delete.
I once found a log file that was 47 GB on a 50 GB server. Without
ncduI’d still be runningdu -sh *in every directory.
📦 Install: brew install ncdu | apt install ncdu
6. lazygit — Git UI Without Leaving the Terminal
What it does – Full‑featured Git interface in your terminal. Stage, commit, push, rebase, resolve conflicts — all with keyboard shortcuts.
Why it’s life‑changing
# Just run it in your repo
lazygitFeatures:
- Visual diff viewer
- Interactive staging (stage individual lines!)
- One‑key commit, push, pull
- Branch management with visual graph
- Conflict resolution side‑by‑side
It’s the speed of the terminal with the clarity of a GUI. Best of both worlds.
📦 Install: brew install lazygit | go install github.com/jesseduffield/lazygit@latest
7. httpie — cURL for Humans
What it does – A user‑friendly HTTP client. Like cURL, but readable.
Why it’s life‑changing
# cURL way (what even is this?):
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token123" \
-d '{"name": "John", "email": "john@example.com"}'
# httpie way (ah, I can read this):
http POST api.example.com/users \
name=John \
email=john@example.com \
Authorization:"Bearer token123"You also get:
- Colorized, formatted JSON output
- Built‑in JSON support (no
-H "Content-Type"needed) - Sessions for authenticated APIs
- File download with progress bar
📦 Install: brew install httpie | pip install httpie
Bonus: My .bashrc Aliases
# Replace defaults with better alternatives
alias cat='bat --paging=never'
alias top='htop'
alias du='ncdu'
alias find='fd' # another great tool
alias grep='rg' # ripgrep – blazing fast
# Quick shortcuts
alias lg='lazygit'
alias ld='lazydocker'
alias ll='ls -la'
alias ..='cd ..'
alias ...='cd ../..'
# Git shortcuts
alias gs='git status'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline --graph --decorate'Give these a spin and watch your terminal productivity soar!
git log --oneline -10The Full List
| Tool | Replaces | Install |
|---|---|---|
fzf | Ctrl + R, find | brew install fzf |
lazydocker | Docker CLI | brew install lazydocker |
bat | cat | brew install bat |
tldr | man | npm install -g tldr |
ncdu | du | brew install ncdu |
lazygit | Git CLI | brew install lazygit |
httpie | curl | brew install httpie |
One More Thing
The best part about all these tools? They’re all free, open‑source, and work on any Linux/Mac machine. You can SSH into your server and have the same setup everywhere.
My rule: If I do something more than three times a day in the terminal, there’s probably a tool that does it better.
What are YOUR must‑have terminal tools? Drop them in the comments — I’m always looking for new ones to add to my toolkit.