Best Linux CLI tools for developers go far beyond grep, awk, and htop. Here are 10 lesser-known command-line tools that can dramatically boost your efficiency, streamline workflows, and make your terminal experience smarter and faster.
1. fd — A Simpler, Faster Alternative to find
fd is a user-friendly, blazing-fast alternative to the classic find command. It supports regex, colors, smart case matching, and respects .gitignore by default. Its syntax is incredibly simple:
fd config ~/projects
This would search for any file containing “config” under your projects directory—clean, intuitive, and quick.
Install: sudo apt install fd-find (Ubuntu/Debian) or brew install fd (macOS)
2. bat — Syntax-Highlighting cat Replacement
bat enhances cat by adding syntax highlighting, line numbers, and Git integration for modified lines. It’s ideal for previewing scripts, configs, and logs:
bat ~/.bashrc
Use it with tools like fzf or delta for even more power.
Install: sudo apt install bat or brew install bat
3. tldr — Community-Curated Command Examples
man pages are comprehensive but often overwhelming. tldr provides simplified, community-driven examples:
tldr tar
You’ll instantly see real-world usage examples instead of scrolling through pages of flags and options.
Install: npm install -g tldr or pip install tldr
4. dust — A Smarter du for Disk Usage
dust visualizes disk usage with a colorful tree structure. It’s much easier to digest than du -sh:
dust ~/Downloads
Great for quickly identifying space hogs.
Install: cargo install du-dust or brew install dust
5. ripgrep (rg) — Lightning Fast Text Search
ripgrep is like grep on steroids. It recursively searches directories with blazing speed and smart filtering:
rg "class MyService" ./src
It’s especially powerful in codebases, where speed and clarity matter. ripgrep automatically skips binary files, hidden directories, and files listed in .gitignore.
Install: sudo apt install ripgrep or brew install ripgrep
6. broot — Interactive Tree Navigator with Fuzzy Search
broot is a terminal file navigator with fuzzy search and preview support. It combines the power of tree, cd, and fzf:
br
Use :q to quit, or :p to preview files—totally intuitive and keyboard-friendly.
Install: cargo install broot or brew install broot
7. delta — Better Git Diffs with Syntax Highlighting
Tired of boring, monochrome git diff output? delta gives you syntax-highlighted, side-by-side diffs:
git diff | delta
It integrates smoothly with Git. Add [core] pager = delta to your .gitconfig for automatic use.
Install: brew install git-delta or download from dandavison/delta
8. httpie — User-Friendly curl for REST APIs
httpie simplifies HTTP requests for humans. It has a clean syntax and colorful output, making RESTful API testing a breeze:
http GET https://api.github.com/repos/httpie/httpie
Much easier to read and use compared to verbose curl commands.
Install: pip install httpie or brew install httpie
9. fzf — Fuzzy Finder for Everything
fzf is a fuzzy file finder that can be embedded into virtually any command:
cat $(fzf)
It can also enhance tab completion, git, and even ssh. Once you integrate fzf, it’s hard to go back.
Install: sudo apt install fzf or brew install fzf
10. exa — Modern ls with Git Awareness
exa replaces ls with better defaults, colors, and Git status indicators:
exa -la --git
It even supports tree views and file type icons. It’s ls, reimagined for the 21st century.
Install: sudo apt install exa or brew install exa
Quick Reference: All 10 Tools at a Glance
| Tool | Replaces | Key Benefit |
|---|---|---|
fd |
find |
5x faster, simpler syntax |
bat |
cat |
Syntax highlighting + line numbers |
tldr |
man |
Practical examples, no jargon |
dust |
du |
Visual disk usage tree |
ripgrep |
grep |
Fastest recursive search |
broot |
tree + cd |
Interactive navigation |
delta |
diff |
Syntax-highlighted git diffs |
httpie |
curl |
Human-readable HTTP client |
fzf |
— | Universal fuzzy finder |
exa |
ls |
Git-aware file listing |
These tools may seem small individually, but together they completely transform how efficiently you interact with your system. Whether you’re managing massive codebases, navigating directories, or debugging systems, there’s always room to sharpen your toolkit.