Resourcesโ€บTerminal & CLIโ€บModern CLI Tools in 2026: Replace Old Commands with Faster Ones
๐Ÿ’ปTerminal & CLIโ€” Modern CLI Tools in 2026: Replace Old Commands with Faster Onesโฑ 7 min

Modern CLI Tools in 2026: Replace Old Commands with Faster Ones

The Unix tools you know are 30-50 years old. These modern replacements are faster, friendlier, and significantly more useful.

๐Ÿ“…January 10, 2026โœTechTwitter.iocliterminalproductivitytools

The Case for Upgrading Your CLI Toolkit

ls, grep, cat, find โ€” these tools work, but they were designed in an era before color terminals, interactive filtering, and multi-core CPUs. Modern replacements do the same job faster, with better output, and often with git-awareness.

Here are the tools worth installing in 2026.


eza โ†’ Replaces ls

eza (formerly exa) is a modern ls with colors, icons, git status, and tree view:

# Install
brew install eza  # macOS
cargo install eza  # or via cargo

# Usage
eza -la              # Long list with hidden files
eza --tree           # Tree view
eza -la --git        # Show git status per file
eza --icons          # With file type icons (needs Nerd Font)

# Alias in .bashrc/.zshrc
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias tree='eza --tree'

ripgrep (rg) โ†’ Replaces grep

ripgrep is 3-5x faster than grep, respects .gitignore by default, and has better output formatting:

# Install
brew install ripgrep

# Basic search
rg "useState"

# Search specific file types
rg "TODO" --type ts

# Case insensitive
rg -i "error"

# Show context (3 lines before/after)
rg -C 3 "login"

# Count matches per file
rg --count "import"

# Search in hidden files (normally excluded)
rg --hidden "secret"

No more grep -r --include="*.ts" "pattern" ..


fd โ†’ Replaces find

fd is a faster, simpler find with better defaults:

# Install
brew install fd

# Find files by name (case insensitive by default)
fd component
fd ".tsx" --type f

# Find and execute
fd ".log" --exec rm {}

# Find in specific directory
fd "config" src/

# Respects .gitignore (like rg)
# Unlike: find . -name "*.ts" -not -path "*/node_modules/*"

bat โ†’ Replaces cat

bat is cat with syntax highlighting, line numbers, and git diff indicators:

# Install
brew install bat

# Usage
bat src/api.ts        # Syntax highlighted view
bat -n src/api.ts     # With line numbers only
bat --diff src/api.ts # Show git changes highlighted

# Use as pager for man pages
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

delta โ†’ Better Git Diffs

delta replaces git's default diff output with syntax-highlighted, side-by-side diffs:

# Install
brew install git-delta

# ~/.gitconfig
[core]
  pager = delta

[interactive]
  diffFilter = delta --color-only

[delta]
  navigate = true
  light = false
  side-by-side = true

zoxide โ†’ Replaces cd

zoxide learns which directories you visit and lets you jump to them with partial names:

# Install
brew install zoxide

# Add to shell (zsh):
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc

# Usage
cd ~/Projects/my-company/frontend/src  # First time
# Then from anywhere:
z src      # jumps to ~/Projects/my-company/frontend/src
z frontend # jumps there too
zi         # interactive fuzzy finder for your directories

fzf โ†’ Fuzzy Finder for Everything

fzf is a general-purpose fuzzy finder that integrates with everything:

# Install
brew install fzf
$(brew --prefix)/opt/fzf/install  # Install keybindings

# After install, in your terminal:
Ctrl+R  # Fuzzy search command history
Ctrl+T  # Fuzzy search files in current directory
Alt+C   # Fuzzy cd to subdirectory

httpie โ†’ Replaces curl for APIs

httpie is curl with a human-friendly interface:

# Install
brew install httpie

# GET request (vs curl -s -X GET https://... | jq .)
http GET https://api.example.com/users

# POST with JSON body
http POST https://api.example.com/users name="Alice" email="alice@example.com"

# With auth header
http GET https://api.example.com/protected Authorization:"Bearer $TOKEN"

Quick Install Script

brew install eza ripgrep fd bat git-delta zoxide fzf httpie

Add to ~/.zshrc:

# Modern CLI replacements
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias cat='bat'
alias grep='rg'
alias find='fd'
eval "$(zoxide init zsh)"

Key Takeaways

  • eza โ†’ ls with colors, icons, git status, tree view
  • ripgrep (rg) โ†’ grep that's 3-5x faster and respects .gitignore
  • fd โ†’ find that's simpler and respects .gitignore
  • bat โ†’ cat with syntax highlighting
  • delta โ†’ better git diffs with syntax highlighting
  • zoxide โ†’ cd that learns your directories
  • All installable via brew install in one line