Rust CLI utilities replacing classic Linux tools

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

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:

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:

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:

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:

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:

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:

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:

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:

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.