If you’re still relying solely on ls, cat, find, and top in your daily Linux workflow, you’re missing out on a wave of modern CLI tools that are faster, more intuitive, and packed with developer-friendly features. In this guide, we’ll explore 10 modern command-line replacements that will supercharge your terminal productivity in 2026.
1. exa / eza → Replaces ls
eza (the maintained fork of exa) is a modern replacement for ls with color-coded output, Git integration, and tree views built in.
# Install
sudo apt install eza # Debian/Ubuntu
brew install eza # macOS
# Usage
eza -la --icons --git
eza --tree --level=2 --iconsThe --git flag shows the Git status of each file inline — staged, modified, or untracked — right in your directory listing. No more switching to git status constantly.
2. bat → Replaces cat
bat is a cat clone with syntax highlighting, line numbers, and Git diff integration.
# Install
sudo apt install bat
# Usage
bat README.md
bat -l python script.py --style=numbers,changes
bat --diff file1.py file2.pyIt automatically pages long files and highlights over 200 languages. You can even use it as a MANPAGER:
export MANPAGER="sh -c 'col -bx | bat -l man -p'"3. fd → Replaces find
fd is a simple, fast alternative to find. It’s up to 5x faster thanks to parallel traversal and respects .gitignore by default.
# Find all Python files
fd '.py$'
# Find and delete all .log files
fd -e log -x rm {}
# Find files modified in the last 24 hours
fd --changed-within 24h
# Search only in specific directories
fd 'config' /etc /home4. ripgrep (rg) → Replaces grep
ripgrep is blazingly fast and recursively searches directories by default while respecting .gitignore.
# Search for a pattern
rg 'useState' --type js
# Case-insensitive search with context
rg -i 'error' --context 3 logs/
# Search and replace (preview)
rg 'oldFunction' --replace 'newFunction' --passthru
# Count matches per file
rg -c 'TODO' src/Benchmarks consistently show ripgrep outperforming grep -r, ag, and ack — especially on large codebases.
5. btop → Replaces top / htop
btop is a gorgeous resource monitor with mouse support, process filtering, and per-core CPU graphs.
# Install
sudo apt install btop
brew install btop
# Run with a specific theme
btop --theme gruvbox_darkIt supports CPU, memory, disk, network, and GPU monitoring in a single TUI. You can sort processes, send signals, and filter — all with your mouse or keyboard.
6. zoxide → Replaces cd
zoxide learns your most-used directories and lets you jump to them with fuzzy matching.
# Install
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
# Add to .bashrc or .zshrc
eval "$(zoxide init bash)" # or zsh/fish
# Usage
z projects # jumps to ~/code/projects
z doc # jumps to ~/Documents
zi # interactive selection with fzfAfter a few hours of normal usage, zoxide builds a frequency database and almost always guesses right on the first try.
7. dust → Replaces du
dust gives you an intuitive, visual breakdown of disk usage with a bar chart in your terminal.
# Install
cargo install du-dust
# Usage
dust # current directory
dust -r /var/log # reverse sort
dust -n 20 /home # top 20 largestUnlike du -sh *, dust shows a proportional bar graph so you can instantly see which directories are eating your disk space.
8. tldr → Replaces man (for quick lookups)
tldr provides community-maintained, practical examples for commands — no more scrolling through pages of man output.
# Install
npm install -g tldr
pip install tldr
# Usage
tldr tar
tldr docker run
tldr ffmpegEach tldr page shows 4-8 of the most common use cases with copy-paste-ready examples.
9. delta → Replaces diff / Git diff
delta is a syntax-highlighting pager for Git, diff, and grep output with side-by-side view support.
# Install
brew install git-delta
# Add to ~/.gitconfig
[core]
pager = delta
[delta]
navigate = true
side-by-side = true
line-numbers = true
syntax-theme = DraculaOnce configured, every git diff, git log -p, and git show automatically renders with beautiful syntax-highlighted diffs.
10. fzf → The Universal Fuzzy Finder
fzf isn’t a direct replacement for one tool — it supercharges everything. Pipe any list into fzf for instant fuzzy searching.
# Install
sudo apt install fzf
# Fuzzy find and open a file
vim $(fzf)
# Search command history
history | fzf
# Kill a process interactively
ps aux | fzf | awk '{print $2}' | xargs kill
# Git branch checkout
git branch | fzf | xargs git checkout
# Preview files while searching
fzf --preview 'bat --color=always {}'Pro tip: Add keybindings to your shell for instant access:
# In .bashrc or .zshrc
source /usr/share/doc/fzf/examples/key-bindings.bash
# Ctrl+R → fuzzy history search
# Ctrl+T → fuzzy file finder
# Alt+C → fuzzy cdBonus: Create Shell Aliases
Once you’ve installed these tools, add aliases to your ~/.bashrc or ~/.zshrc so they become your defaults:
# Modern CLI aliases
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias cat='bat --paging=never'
alias find='fd'
alias grep='rg'
alias top='btop'
alias du='dust'
alias diff='delta'Wrapping Up
These modern CLI tools share common traits: they’re written in Rust or Go for speed, they have sane defaults, they support color output, and they integrate with your existing workflows seamlessly. You don’t need to adopt all ten at once — start with bat, fd, and ripgrep, and expand from there.
Your terminal is where you spend hours every day. Investing 15 minutes to install better tools pays for itself within the first week. Happy hacking!

Leave a Reply