Modern Replacments to POSIX Commands Revision as of Friday, 23 May 2025 at 19:37 UTC
File System Navigation & Management
Old | Modern | Language |
---|---|---|
cat |
bat | Rust |
cd |
zoxide | Rust |
du |
dust, dua | Rust |
find |
fd | Rust |
ls |
eza, lsd | Rust |
rm |
trash | Go |
time |
hyperfine | Rust |
System Monitoring
Old | Modern | Language |
---|---|---|
top /htop |
bottom (btm), gtop | Rust, JavaScript |
ps |
procs | Rust |
Text Processing & Search
Old | Modern | Language |
---|---|---|
awk |
angle-grinder | Rust |
awk /csv |
xsv | Rust |
awk /cut |
choose | Rust |
awk /cut |
hck | Rust |
awk /sed |
miller (mlr) | Go |
diff |
delta | Rust |
grep |
rg, ag, ugrep | Rust, C, C++ |
sed |
sd | Rust |
JSON tools | jq, jless | C, Rust |
YAML tools | yq | Go |
Data selector | dasel | Go |
Network Tools
Old | Modern | Language |
---|---|---|
dig |
doggo | Go |
dig /nslookup |
dog | Rust |
whois |
whois.rs | Rust |
curl |
xh | Rust |
netstat |
bandwhich | Rust |
ping |
gping | Rust |
DNS monitoring | dnspeep | Rust |
httpie |
xh | Rust |
File & Directory Tools
Old | Modern | Language |
---|---|---|
find |
fd-find | Rust |
find /Various |
fzf | Go |
Rename tools | rnr | Rust |
Text Viewing & Editing
Old | Modern | Language |
---|---|---|
hexdump |
hexyl | Rust |
Hex editors | hx (hex) | Rust |
Other
Old | Modern | Language |
---|---|---|
git |
gitui | Rust |
Note: You’ll need to ssh-add ~/.ssh/key_id
for gitui
to push to remote on macOS
There’s uutils/coreutils
which just replaces all GNU Coreutils with Rust reimplemntations 🤷♂️ Seems risky. They do note that “some options might be missing or different behavior might be experienced”. I have a lot bash
scripts that depend on stable implementations and won’t be using this one (again, they do note that “differences with GNU are treated as bugs”). Maybe one day.
fselect
allows you to search your filesystem with SQL-like queries!