
Ubuntu is quietly rebasing its userspace on Rust. The uutils project is on track to replace GNU coreutils in Ubuntu 25.10 and forward, and the goal is memory safety without breaking a single script. That upstream shift will take years, but the individual Rust rewrites are already available today. These best apps for Rust CLI utilities on Linux run on macOS and Windows too, drop in beside grep, cat, ls, du, top, and diff, and stay compatible with the flags most scripts use.
What to look for in a Rust CLI utility
- Drop-in interface. Flag compatibility with the GNU tool it replaces means your scripts do not need rewriting.
- Sensible defaults. The Rust rewrites usually add colored output, git awareness, and Unicode handling with no extra flags.
- Cross-platform builds. If it only runs on Linux, the momentum stalls the moment your dotfiles reach a Mac.
- Actively maintained. Rust CLI tools proliferated in 2019-2021; the ones still shipping releases in 2026 are the safe bets.
- Distribution channels. Cargo install always works; a Debian package or Homebrew tap saves everyone else time.
Quick comparison
| Tool | Replaces | Free plan | Standout | Cross-platform |
|---|---|---|---|---|
ripgrep (rg) |
grep / ack | Free | Gitignore-aware search | Windows, macOS, Linux |
| bat | cat | Free | Syntax highlighting, git diff markers | Windows, macOS, Linux |
| eza | ls | Free | Icons, git status, tree mode | macOS, Linux, Windows (WSL) |
| fd | find | Free | Ergonomic syntax, respects gitignore | Windows, macOS, Linux |
| dust | du | Free | Visual tree of disk usage | Windows, macOS, Linux |
bottom (btm) |
top / htop | Free | GPU and network per process | Windows, macOS, Linux |
| zoxide | cd | Free | Learns your folders | Windows, macOS, Linux |
| delta | diff / git diff | Free | Side-by-side git diffs | Windows, macOS, Linux |
The apps
1. ripgrep — best grep replacement
ripgrep (rg) is the tool almost every developer keeps in their dotfiles now. It walks a directory in parallel, skips files listed in .gitignore, and is measurably faster than GNU grep on any codebase over a few megabytes.
Where it falls short: the default respects .gitignore, which surprises people who expect grep-style total coverage. Use -uu to disable.
Pricing:
- Free: MIT license.
- Paid: none.
Platforms: Windows, macOS, Linux. Download: BurntSushi/ripgrep Bottom line: install this first. Every other tool on this list has ripgrep users writing plugins for it.
2. bat — best cat replacement
bat paints file output with syntax highlighting for 150+ languages, shows line numbers by default, and pipes cleanly to less. It also renders diff markers when reading a file inside a git repository.
Where it falls short: it wraps in fewer contexts than plain cat, so bat file.txt | grep needs --paging=never.
Pricing:
- Free: MIT / Apache 2.0.
- Paid: none.
Platforms: Windows, macOS, Linux. Download: sharkdp/bat Bottom line: the small quality-of-life win that stays with you across every shell session.
3. eza — best ls replacement
eza is the maintained fork of the abandoned exa. It renders directory listings with color, icons (with a Nerd Font), git status per file, and an inline tree mode that replaces tree.
Where it falls short: Windows support is via WSL only. The icon support needs a Nerd Font installed.
Pricing:
- Free: MIT.
- Paid: none.
Platforms: Linux, macOS, Windows via WSL.
Download: eza-community/eza
Bottom line: alias ls to eza -l --git --icons and never look back.
4. fd — best find replacement
fd is find with an English-shaped flag set. fd pattern walks the tree and prints every match; add -e md to filter by extension, -x cmd to run per result. Respects .gitignore by default.
Where it falls short: the flag set is not compatible with find scripts, so shell aliases and CI pipelines that use find -exec need rewriting.
Pricing:
- Free: MIT / Apache 2.0.
- Paid: none.
Platforms: Windows, macOS, Linux.
Download: sharkdp/fd
Bottom line: worth switching to just to stop looking up find’s -exec syntax.
5. dust — best du replacement
dust shows disk usage as an inline bar chart, sorted by size, with color-coded percentages. dust in a project folder makes it obvious which subdirectory is eating your SSD.
Where it falls short: does not follow symlinks by default; add -s. Very deep trees can slow the summary.
Pricing:
- Free: Apache 2.0.
- Paid: none.
Platforms: Windows, macOS, Linux. Download: bootandy/dust Bottom line: the fastest way to answer “what filled my disk” without opening a GUI.
6. bottom — best top replacement
bottom (btm) is a terminal system monitor with panes for CPU, memory, GPU (Nvidia), network, disk, temperatures, and per-process breakdown. Every pane is expandable, every metric is graphable.
Where it falls short: GPU pane is Nvidia-first; AMD support depends on radeontop being installed. macOS temperature sensors need extra permissions.
Pricing:
- Free: MIT.
- Paid: none.
Platforms: Windows, macOS, Linux. Download: ClementTsang/bottom Bottom line: htop with graphs and modern network attribution.
7. zoxide — best cd replacement
zoxide watches your cd habits and lets you jump to any recently-visited folder with a keyword. z proj beats cd ~/code/company/project/frontend every time.
Where it falls short: takes a week of use before its ranking feels natural.
Pricing:
- Free: MIT.
- Paid: none.
Platforms: Windows (PowerShell, cmd), macOS, Linux. Download: ajeetdsouza/zoxide Bottom line: the productivity win that everyone underestimates until they try it for a week.
8. delta — best diff and git-diff replacement
delta pipes git diff, git show, and git log -p through side-by-side syntax highlighting with per-line git awareness. Configure once in ~/.gitconfig and every git output looks like GitHub.
Where it falls short: wide terminals only. Under 100 columns the side-by-side view collapses.
Pricing:
- Free: MIT.
- Paid: none.
Platforms: Windows, macOS, Linux. Download: dandavison/delta Bottom line: the git output upgrade you did not know you needed.
How to pick the right one
If you install one tool from this list: ripgrep. If you spend the day in git: delta. If your disk fills up faster than you clean it: dust. If your top habit is out of date: bottom. If your ls is unstyled: eza. If your cd habit involves typing seven directories: zoxide. If you want a full coreutils rewrite: uutils, which now covers most of the GNU set and is the base of the upstream Ubuntu work. Stay on GNU tools where scripts you did not write depend on their exact flag behavior; the Rust rewrites are for you, not for the CI pipeline you inherited.
FAQ
Is it safe to replace coreutils with the Rust versions?
For your own shell and scripts, yes; every tool on this list is stable and widely used. Do not replace system coreutils on a server without testing every dependent script first. Ubuntu’s upstream migration is proceeding one utility at a time for that reason.
Why is Ubuntu rewriting coreutils in Rust?
Memory safety. Rust rules out entire classes of security bugs at compile time, and the uutils rewrites keep the GNU flag surface so existing scripts do not break.
Do these Rust CLI utilities work on macOS?
All of them. Homebrew has current formulas for every tool on the list.
Which Rust CLI tools work on Windows without WSL?
ripgrep, bat, fd, dust, bottom, zoxide, and delta ship native Windows binaries. eza is WSL-only for now.
What is the easiest way to install all of these?
brew install ripgrep bat eza fd dust bottom zoxide git-delta on macOS and Linux. cargo install ripgrep bat eza fd-find du-dust bottom zoxide git-delta if you prefer Cargo. Windows users can winget install BurntSushi.ripgrep.MSVC sharkdp.bat sharkdp.fd Dandavison.delta ClementTsang.bottom ajeetdsouza.zoxide.