Shell is the essential tool for every programmer. The more familiar you become with the available tools, the more efficient you can be with using your computer. Here's a list of command-line tools written in Rust that aim to provide modern, often much faster, alternatives to the existing shell commands.
bat is a
cat clone with syntax highlighting and Git integration that works on Windows, MacOS and Linux. It provides syntax highlighting for many file extensions by default.
exa is a modern replacement for
ls, the default command-line program in Unix/Linux for listing directory contents.
exa supports icons with the
fd is a fast and user-friendly alternative to
find, the built-in command-line program in Unix/Linux for walking a file hierarchy.
fd provides opinionated defaults for the most common use cases. To find a specific file by name, you write
fd PATTERN instead of
find -iname ‘*PATTERN*’.
fd is also extremely fast and it comes with a ton of options like ignoring hidden directories, files and patterns from
.gitignore by default.
procs is a modern replacement for
ps, the default command-line program in Unix/Linux for getting information about processes. It provides convenient, human-readable (and colored) output format by default.
sd is an intuitive find & replace command-line tool, it is an alternative to
sed, the built-in command-line program in Unix/Linux for parsing and transforming text ().
sd is also 2x-11x faster than
sed is a programmable text editor, with search and replace being a common use case. In that light,
sd is more like
tr, but on steroids. (thanks /u/oleid for the suggestion).
dust is a more intuitive version of
du, the built-in command-line program in Unix/Linux for displaying disk usage statistics. By default
dust sorts the directories by size.
The minimal, blazing-fast, and infinitely customizable prompt for any shell.
ripgrep is an extremely fast alternative to
grep, the built-in command-line program in Unix/Linux for searching files by pattern.
ripgrep is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep respects
.gitignore and automatically skips hidden files, directories and binary files.
tokei is a program that displays statistics about your code. It shows the number of files, total lines within those files and code, comments, and blanks grouped by language.
hyperfine is a command-line benchmarking tool. Among many features, it provides statistical analysis across multiple runs, support for arbitrary shell commands, constant feedback about the benchmark progress and current estimates and more.
ytop is an alternative to
top, the built-in command-line program in Unix/Linux for displaying information about processes.
tealdeer is a very fast implementation of tldr, a command-line program for displaying simplified, example based and community-driven man pages.
bandwhich is a CLI utility for displaying current network utilization by process, connection and remote IP or hostname.
grex is a command-line tool and library for generating regular expressions from user-provided test cases.
rmesg is a dmesg implementation in Rust (and available as a library for Rust programs to consume kernel message logs.)
zoxide is a blazing fast autojumper, intended to completely replace the
cd command. It allows you to change directories without typing out the entire path name.
delta is a viewer for git and diff output. It allows you to make extensive changes to the layout and styling of diffs, as well as allowing you to stay arbitrarily close to the default git/diff output.
Tp-Note is a template tool that enhances the clipboard with a save and edit as a note file function. After creating a new note file,
Tp-Note launches the user's favorite file editor (for editing) and web browser (for viewing).
nushell is a new type of shell, written in Rust. Its goal is to create a modern shell alternative that's still based on the Unix philosophy, but adapted to the current era.
It supports piping and filtering in a way similar to
sed with a column view so that you can combine operations like in
SQL. (thanks /u/matu3ba for the suggestion).
My Tech Newsletter
Get emails from me about programming & web development. I usually send it once a month