Modern Rust-based CLI tools replace classic Unix utilities with faster, friendlier, and more featureful alternatives. Tools like bat, eza, ripgrep, fd, zoxide, delta, btop, dust, fzf, hyperfine, sd, choose, procs, gping, glow, broot, lsd, and tealdeer offer syntax highlighting, Git integration, smart defaults, and visual richness that legacy tools lack. Most install via cargo, apt, brew, or pacman and can be aliased as drop-in replacements with minimal config.
What This Cheat Sheet Covers
This topic spans 20 focused tables and 322 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
bat β cat with Syntax Highlighting and Git Integrationeza β Modern ls with Icons and Git Statusripgrep (rg) β Blazing-Fast Recursive Searchfd β Intuitive find Replacementzoxide β Smart cd with Frecencydelta β Syntax-Highlighted Git Diff Pagerbtop β Resource Monitor with Graphsdust β Visual Disk Usage with Bar Chartsfzf β General-Purpose Fuzzy Finderhyperfine β Command Benchmarkingsd β Intuitive sed Alternativechoose β Friendly cut/awk Field Slicerprocs β Modern ps Replacementgping β Graphical Pingglow β Markdown Terminal Viewerbroot β Interactive Tree Navigatorlsd (LSDeluxe) β Icon ls Alternativetealdeer (tldr) β Practical Man Page ExamplesDrop-In Replacement AliasesInstallation by Package Manager
bat β cat with Syntax Highlighting and Git Integration
| Flag / Feature | Example | Description |
|---|---|---|
Basic usage | bat file.py | Display file with syntax highlighting and line numbers |
Disable paging | bat --paging=never file.py | Print output directly without a pager |
Plain output | bat -p file.py | β’ No decorations β’ plain text (alias mode) |
Show line numbers | bat -n file.py | Line numbers only, no other decorations |
Specific language | bat -l json data.txt | Force a language for syntax highlighting |
Map extension | bat --map-syntax '*.conf:TOML' file.conf | Map unknown extension to a known syntax |
Highlight a line | bat --highlight-line 42 file.py | Highlight specific line in output |
Style selection | bat --style=numbers,changes file.py | Choose decoration: numbers, changes, grid, header, snip |