DEV Community

Cover image for 7 Terminal Tools I Can't Live Without (That Most Developers Don't Know About)
Teguh Coding
Teguh Coding

Posted on

7 Terminal Tools I Can't Live Without (That Most Developers Don't Know About)

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 for literally 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 fzf finds 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 kill
Enter fullscreen mode Exit fullscreen mode

Before fzf: "What was that config file called again? Where did I put it?"
After fzf: Type 3 letters. Found it. Done.

📦 Install: brew install fzf or apt install fzf


2. lazydocker — Docker Dashboard in Your Terminal

What it does: A beautiful terminal UI for managing Docker 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
lazydocker
Enter fullscreen mode Exit fullscreen mode

You get:

  • Live container stats (CPU, memory, network)
  • Logs with search and filtering
  • One-key restart, stop, remove
  • Bulk cleanup of unused images/volumes

It's like having Docker Desktop — but in your terminal, on your server, with zero overhead.

📦 Install: brew install lazydocker or go install github.com/jesseduffield/lazydocker@latest


3. batcat But Beautiful

What it does: Like cat, but with syntax highlighting, line numbers, and git diff integration.

Why it's life-changing:

# Instead of:
cat index.js

# Use:
bat index.js
Enter fullscreen mode Exit fullscreen mode

You get:

  • Automatic syntax highlighting for 100+ languages
  • Line numbers
  • Git changes highlighted in the margin
  • Automatic paging for long files

Once you use bat, going back to plain cat feels like reading code on a typewriter.

📦 Install: brew install bat or apt install bat


4. tldr — Man Pages for Humans

What it does: Simplified, practical man pages with real examples.

Why it's life-changing:

Be honest — 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 tar
Enter fullscreen mode Exit fullscreen mode

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 file2
Enter fullscreen mode Exit fullscreen mode

That's it. No PhD required.

📦 Install: npm install -g tldr or 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 /
Enter fullscreen mode Exit fullscreen mode

You get an interactive file tree sorted by size. Navigate with arrow keys, press d to delete. Boom — 20GB of old Docker images found and removed.

I once found a log file that was 47GB. On a 50GB server. Without ncdu, I'd still be running du -sh * in every directory.

📦 Install: brew install ncdu or apt install ncdu


6. lazygit — Git UI Without Leaving the Terminal

What it does: A full Git interface in your terminal. Stage, commit, push, rebase, resolve conflicts — all with keyboard shortcuts.

Why it's life-changing:

I love Git. I hate typing Git commands.

# Just run it in your repo
lazygit
Enter fullscreen mode Exit fullscreen mode

You get:

  • 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 or go install github.com/jesseduffield/lazygit@latest


7. httpie — cURL for Humans

What it does: A user-friendly HTTP client. Like cURL, but you can actually read the commands.

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"
Enter fullscreen mode Exit fullscreen mode

You also get:

  • Colorized and formatted JSON output
  • Built-in JSON support (no -H "Content-Type" needed)
  • Sessions for authenticated APIs
  • Download files with progress bar

📦 Install: brew install httpie or pip install httpie


Bonus: My .bashrc Aliases

Here are the aliases I use to make these tools even faster:

# 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 -10'
Enter fullscreen mode Exit fullscreen mode

The 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 3 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.

Top comments (0)