Rewrites of GNU Utilities (2024-06-27)
There seems to be a modern trend of rewriting common GNU utilities, especially in Rust. The GNU utils have been rewritten before, most notably as BusyBox, the GNU core utils as a single binary meant to be used in extremely small embedded Linux environments. However, Rust seems to be a popular language used to write these newer ones, evidently because Rust is a new darling language. However it seems to have a newfound relevance as rust code was recently added to the Linux kernel.
These rewrites often offer improved functionality over their much older counterparts, have more human readable options, syntax, and outputs, and some even boast greater efficiency and speed. Now, if true, these improvements are likely never human detectable. No person will likely ever feel a difference in speed at a cli, but it is fun to note. Despite these improvements these rewrites will likely never gain widespread use these the originals are already installed and countless scripts and other tools already depend on their existence. But a poweruser who wants to have fun and utilize newer, more powerful and intuitive tools, should have at it. I'd actually recommend many of them, they're amazing. I'd just caution these users to not come too accustomed to using them as if they ever want to become a professional, they'll immediately encounter a situation where only GNU utils are at their disposal. I definitely have to keep this in mind when either using a rewrite or my own aliases.
In this post, I'm going list the ones I personally use and others I've never tried but am interested in.
bat
A cat clone with syntax highlighting and Git integration.
exa
A modern replacement for ls.

lsd
The next gen file listing command. Backwards compatible with ls.

delta
A viewer for git and diff output

dust
A more intuitive version of du written in rust.

duf
A better df alternative

broot
A new way to see and navigate directory trees

fd
A simple, fast and user-friendly alternative to find.
ripgrep
An extremely fast alternative to grep that respects your gitignore

ag
A code searching tool similar to ack, but faster.

fzf
A general purpose command-line fuzzy finder.

mcfly
Fly through your shell history. Great Scott!

choose
A human-friendly and fast alternative to cut and (sometimes) awk

jq
sed for JSON data.

sd
An intuitive find & replace CLI (sed alternative).

cheat
Create and view interactive cheatsheets on the command-line.

tldr
A community effort to simplify man pages with practical examples.
bottom
Yet another cross-platform graphical process/system monitor.

glances
Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.

gtop
System monitoring dashboard for terminal.

hyperfine
A command-line benchmarking tool.
gping
ping, but with a graph.

procs
A modern replacement for ps written in Rust.

httpie
A modern, user-friendly command-line HTTP client for the API era.

curlie
The power of curl, the ease of use of httpie.

xh
A friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.

zoxide
A smarter cd command inspired by z.

dog
A user-friendly command-line DNS client. dig on steroids
