Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

nikolassv/rust-command-line-utilities

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

64 Commits

Repository files navigation

A curated list of command-line utilities written in Rust

Note that I have not tried all of these personally and cannot and do not vouch for all of the tools listed here. In most cases, the descriptions below are copied directly from their code repos at the time I found them. Some projects may have been abandoned. Investigate before installing/using.

The ones I use regularly use are: bat, fd, fend, hyperfine, miniserve, ripgrep, just, cargo-audit and cargo-wipe. (I'm torn between dust and erdtree...)

Unix-to-Rust replacements (or near-replacements)

unix rust stars last release
cat bat
cd zoxide
cp xcp
df lfs
diff delta
diff difftastic
du dua
du dust
du dutree
du erdtree
du pdu
find fd
grep ripgrep
ls exa
ls lsd
ps procs
rm rip
sed sd

Full list of Rust tools

atuin "Magical shell history"

bandwhich Terminal bandwidth utilization tool

bat A replacement for cat that provides syntax highlighting and other features.

bottom Yet another cross-platform graphical process/system monitor.

broot A new way to see and navigate directory trees

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

counts "A tool for ad hoc profiling"

delta A syntax-highlighting pager for git, diff, and grep output

difftastic A syntax-aware diff

dog A command-line DNS client

dua "View disk space usage and delete unwanted data, fast."

dura "Dura is a background process that watches your Git repositories and commits your uncommitted changes without impacting HEAD, the current branch, or the Git index (staged files)."

dust "a more intuitive version of du in Rust"

dutree "a tool to analyze file system usage written in Rust"

erdtree A multi-threaded file-tree visualizer and disk usage analyzer. (I usually use it as et -l 1 -s size

)

exa "A modern version of ls". Note: See this discussion re: maintenance. (website)

fclones an "efficient duplicate file finder"

fd "A simple, fast and user-friendly alternative to find"

felix tui file manager with vim-like key mapping

ffsend "Easily and securely share files from the command line. A fully featured Firefox Send client."

frum A modern Ruby version manager written in Rust

fselect "Find files with SQL-like queries"

git-cliff "A highly customizable Changelog Generator that follows Conventional Commit specifications"

gptman "A GPT manager that allows you to copy partitions from one disk to another and more"

grex A command-line tool and library for generating regular expressions from user-provided test cases

himalaya Command-line interface for email management

htmlq Like jq, but for HTML. Uses CSS selectors to extract bits of content from HTML files.

hyperfine Command-line benchmarking tool

inlyne "GPU powered yet browsless tool to help you quickly view markdown files"

intelli-shell "Like IntelliSense, but for shells"

jless "command-line JSON viewer designed for reading, exploring, and searching through JSON data."

joshuto "ranger-like terminal file manager written in Rust"

jql A JSON query language CLI tool

just Just a command runner (seems like an alternative to make)

legdur A "simple CLI program to compute hashes of large sets of files in large directory structures and compare them with a previous snapshot."

lemmeknow Identify mysterious text or analyze hard-coded strings from captured network packets, malwares, and more.

lfs A Linux utility to get information on filesystems; like df but better

lsd The next generation ls command (though personally I prefer exa)

macchina Fast, minimal and customizable system information frontend.

mcfly Fly through your shell history.

mdBook Create books from markdown files. Like Gitbook but implemented in Rust

mdcat Fancy cat for Markdown

miniserve A "CLI tool to serve files and dirs over HTTP". I use this as a replacement for python -m http.server.

monolith Save complete web pages as a single HTML file

mprocs Run multiple commands in parallel

ouch "Painless compression and decompression for your terminal"

pastel A command-line tool to generate, analyze, convert and manipulate colors.

pdu "Highly parallelized, blazing fast directory tree analyzer"

pipr "A tool to interactively write shell pipelines."

procs A modern replacement for ps written in Rust

pueue A command-line task management tool for sequential and parallel execution of long-running tasks.

qsv CSVs sliced, diced & analyzed. (A fork of xsv)

rargs xargs + awk with pattern matching support.

rip A safe and ergonomic alternative to rm

ripgrep A faster replacement for GNU's grep command. This tool is very good. See ripgrep-all to search PDFs, E-Books, Office documents, zip, tar.gz, etc.

ripsecrets Find secret keys in your code before committing them to git. I've contributed to this one!

rnr "A command-line tool to batch rename files and directories"

ruff An extremely fast Python linter, written in Rust.

ruplacer Find and replace text in source files

sd Intuitive find & replace CLI (sed alternative).

skim A command-line fuzzy finder.

tealdear A very fast implementation of tldr in Rust.

teehee "A modal terminal hex editor"

tin-summer Find build artifacts that are taking up disk space

tokei Count your (lines of) code, quickly

topgrade Upgrade all of your tools

watchexec Execute commands in response to file modifications. (Note: See cargo watch if you want to watch a Rust project.)

xcp An extended cp

xh "Friendly and fast tool for sending HTTP requests"

xplr "A hackable, minimal, fast TUI file explorer"

xsv A fast CSV command line toolkit written in Rust.

zet Take the union, intersection, difference, etc of files -- compare to uniq and comm.

zoxide A smarter cd command.

Calculators

eva "a calculator REPL, similar to bc(1)"

fend "Arbitrary-precision unit-aware calculator" (Documentation). I prefer this calculator.

Kalker "a calculator with math syntax that supports user-defined variables and functions, complex numbers, and estimation of derivatives and integrals"

Terminal emulators / terminal-related

Alacritty: A cross-platform, OpenGL terminal emulator.

Starship: Customizable prompt for any shell.

Wezterm: A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

Zellij: A terminal workspace with batteries included.

Text editors written in Rust

amp

helix

kibi "A text editor in <=1024 lines of code, written in Rust"

lapce

Ox An independent Rust text editor that runs in your terminal!

pepper

xi

zee

See this "Battle of the [Rust] text editors" post from 2022 or this r/rust post.

Email clients

himalaya "Command-line interface for email management"

All core utils!?

Note that there is "a cross-platform reimplementation of the GNU coreutils in Rust". I link it here for those interested, but I argue that it doesn't quite fit into this project's goals.

Tools to help working with Rust lang itself

bacon: A background Rust code checker

cargo watch: Watches over your Cargo project's source.

cargo-audit: Audit Cargo.lock files for crates with security vulnerabilities reported to the RustSec Advisory Database. See also: cargo-deny and/or cargo-about.

cargo-binstall: "Binary installation for [R]ust projects"

cargo-cache Display information on the cargo cache (~/.cargo/ or $CARGO_HOME). Optional cache pruning.

cargo-crev: A cryptographically verifiable code review system for the cargo (Rust) package manager.

cargo-dist: "Shippable application packaging for Rust"

cargo-geiger: Detects usage of unsafe Rust in a Rust crate and its dependencies.

cargo-wipe: Cargo subcommand that recursively finds and optionally wipes all "target" or "node_modules" folders that are found in the current path. See also: kondo.

kani-verifier: A "bit-precise model checker for Rust."

Other lists of Rust command line utilities

Tips

exa aliases I use in my ~/.bashrc

if hash exa 2>/dev/null; then
alias ls='exa'
alias l='exa -l --all --group-directories-first --git'
alias ll='exa -l --all --all --group-directories-first --git'
alias lt='exa -T --git-ignore --level=2 --group-directories-first'
alias llt='exa -lT --git-ignore --level=2 --group-directories-first'
alias lT='exa -T --git-ignore --level=4 --group-directories-first'
else
alias l='ls -lah'
alias ll='ls -alF'
alias la='ls -A'
fi

bat alias to act more like cat

alias cat=bat --paging=never

Shameless plug: Tools that I've written in Rust

Tidy A Swiss army knife for word lists

Medic Check the "health" of passwords in a KeePass database

QRForge Safely transform between 32-character TOTP secret keys and their QR codes

Criteria for submitting a tool to this list

If you know of a Rust command line tool that you think would be a good fit for this list, open an issue or a PR. Note that I generally only consider projects that have 100 or more stars on GitHub, which I'm hoping means that the program will be a bit battle-tested and ready for real-world use. I also reserve the right to reject submissions even if they meet this criteria.

You're of course welcome to fork this project and maintain your own list! Check the included LICENSE for more information.

About

A curated list of command-line utilities written in Rust

Resources

Readme

License

CC0-1.0 license

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors