> ## Content Index
> Fetch the complete content index at: https://itsfoss.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 14 Rust Tools for Linux Terminal Dwellers
- URL: https://itsfoss.com/rust-cli-tools/
- Published: 2023-01-24T13:37:38.000Z
- Updated: 2023-01-25T10:02:28.000Z
- Description: Rust-powered tools for the terminal? Here are some of the best options as alternatives to some popular command-line tools!
- Author: Sreenath
- Tags: Terminal, List 📋

Rust programming language is constantly getting more famous for its performance-oriented and memory-safe approach. 

You can find plenty of software rewritten in Rust just to make things faster and more robust. As an example relevant to Linux users, System76 chose to build its desktop environment from scratch powered by Rust. So, it is undoubtedly loved by many.

Let me highlight some of the best Rust-powered Linux terminal tools to save you some trouble.

📋

The list is in no particular order of ranking.

## 1\. Exa

One of the first tools, that comes to my mind, when thinking about rust apps is **exa**, a great alternative to the most common **ls** command. 

It offers features like colored output, icon support, etc that make it visually pleasing to use.

![exa command in terminal screenshot](https://itsfoss.com/content/images/2023/01/exa_command.png)

*Exa: An alternative to `ls` command*

**Features of Exa**

- It uses colors to distinguish file types and metadata.
- It knows about symlinks, extended attributes, and Git.
- Exa queries files in parallel, giving you performance on par with `ls`
- Built-in `tree` tool
- Column view support

**Install Exa**

Exa is available in almost all the repositories of major distributions. In Ubuntu, you can install exa by the following command:

```
sudo apt install exa
```

Once installed, you can use `exa` in the terminal to use it. If you want it instead of `ls` all the time, **create an alias for ls with exa**.

[Exa](https://the.exa.website/?ref=itsfoss.com)

**Suggested Read 📖**

[Linux Alias Command: Set, Create and Remove AliasesAlias command in Linux saves a lot of your time and improves your efficiency. Learn how to use this command properly and see some of the common aliases I use.![](https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png)Linux HandbookHelder![](https://linuxhandbook.com/content/images/2020/06/alias-command-linux.png)](https://linuxhandbook.com/linux-alias-command/?ref=itsfoss.com)

## 2\. Bat

One of the most commonly used command-line tool is cat, where we can output the content of a file to the terminal. 

Bat is a worthy alternative to the cat command, which according to its developers, is "**cat clone with wings**."

![A screenshot showing bat displaying bashrc file](https://itsfoss.com/content/images/2023/01/bat_command.png)

*Bat*

**Features of Bat**

- Syntax Highlighting for a large number of programming and markup languages.
- Git integration
- Show non-printable characters
- Automatic paging for large files that don't fit into one page
- File concatenation

**Install bat**

Bat is available in all repositories. You can install it in Ubuntu by using the following command:

```
sudo apt install bat
```

For Ubuntu users, once installed, you need to use `batcat` instead of `bat` to run it. 

[Bat](https://github.com/sharkdp/bat?ref=itsfoss.com)

**Suggested Read 📖**

[Cat Command in Linux: Essential and Advanced Examplescat is one of the most used commands in Linux but do you really know the cat command? Learn the basics as well as advanced examples of cat command in Linux.![](https://linuxhandbook.com/content/images/size/w256h256/2021/08/Linux-Handbook-New-Logo.png)Linux HandbookSylvain Leroux![](https://linuxhandbook.com/content/images/2020/06/cat-command-linux.jpeg)](https://linuxhandbook.com/cat-command/?ref=itsfoss.com)

## 3\. Starship Prompt

There are many shells out there like bash, zsh, etc. You probably know the popular ones, and if you are curious, we have a [list of lesser-known shells](https://itsfoss.com/shells-linux/).

But all of those provide a shell prompt, which looks almost the same. 

Starship prompt allows you to change the look of your shell prompt the way you want with a vast amount of configuration options. Starship prompt is simply an excellent customization tool.

![Starship Prompt: A Shell prompt written in rust with lot of customisation possibilities](https://itsfoss.com/content/images/2023/01/starship_prompt.png)

*Starship Prompt*

**Features of Starship Prompt**

- Minimal and fast
- Works with almost all major shells
- Intelligent: shows relevant information at a glance.
- Feature-rich: support for all your favorite tools.
- Customizable: configure every aspect of your prompt.

**Install Starship Prompt**

Starship prompt is not available in official repositories. In Ubuntu and other distributions, to install the latest version of Starship, first, ensure you have curl installed:

```
sudo apt install curl
```

Then, use this command to install the starship prompt:

```
curl -sS https://starship.rs/install.sh | sh
```

You can explore more about it in our [how to use starship](https://itsfoss.com/starship/) article. Also, the [official wiki](https://starship.rs/config/?ref=itsfoss.com) should be a good place to start.

[Starship Prompt](https://starship.rs/?ref=itsfoss.com)

## 4\. Dust

Dust is a more intuitive Rust version of the `du` command. It gives you an instant overview of which directories are using the disk space without requiring to sort.

![Dust command showing memory usage in user Home directory](https://itsfoss.com/content/images/2023/01/dust.png)

*Dust: A `du` command alternative*

**Features of Dust**

- The largest subdirectories will be colored.
- Small, simple, and easy-to-understand
- Returns a graphical overview of contents that shows its contents and what percentage each item holds.

**Install Dust**

Dust is available in the Arch Linux community repository, and you can install it directly from Arch-based distributions using [Pacman commands](https://itsfoss.com/pacman-command/). 

On Ubuntu, you can install Dust using cargo. For that, you [need to set up cargo in Ubuntu](https://itsfoss.com/install-rust-cargo-ubuntu-linux/). Once set, install the tool using the following command:

```
cargo install du-dust
```

[Dust](https://github.com/bootandy/dust?ref=itsfoss.com)

## 5\. ripgrep

If you use the Linux terminal frequently, you may have used the `grep` command. It is such an important command with varied use cases. 

**ripgrep** is the rust implementation of grep with more valuable features and tweaks. ripgrep is a line-oriented search tool that recursively searches the current directory for a regex pattern.

![ripgrep command is used to search for a certain text inside files of a directory](https://itsfoss.com/content/images/2023/01/ripgrep.png)

*ripgrep: A modern `grep` command alternative*

**Features of ripgrep**

- ripgrep defaults to recursive search and does automatic filtering.
- ripgrep can search specific types of files, like python files (`rg -tpy foo`). Also, it can be taught about new file types with custom matching rules.
- Supports many features found in grep. It stays fast while supporting Unicode.
- ripgrep has optional support for switching its regex engine to use PCRE2\. This makes it possible to use look-around and backreferences in your patterns, which are not supported in ripgrep's default regex engine.

**Install ripgrep**

For Ubuntu 18.10+ users, ripgrep can be installed by using the following command:

```
sudo apt install ripgrep
```

Once installed, you can use ripgrep by using the name of the binary, that is, `rg`.

[ripgrep](https://github.com/BurntSushi/ripgrep?ref=itsfoss.com)

## 6\. fd

fd is a program to find entries in your filesystem, which is an alternative to the ever-famous `find` command. The developer mentions:

> While it does not aim to support all of find's powerful functionality, it provides sensible (opinionated) defaults for a majority of use cases.

![fd command screenshot](https://itsfoss.com/content/images/2023/01/fd_command.png)

fd: A find command alternative, written using Rust

**Features of fd**

- Short syntax: `fd PATTERN` instead of `find -iname '*PATTERN*'`.
- Uses colors to highlight different file types (same as ls).
- Smart case: the search is case-insensitive by default. It switches to case-sensitive if the pattern contains an uppercase character.
- Very fast due to parallelized directory traversal.

**Install fd**

On Ubuntu 19.04 or later, install fd command by:

```
sudo apt install fd-find
```

💡

In Ubuntu, you should use `fdfind` to access the command.

It is available in the official repositories of most major Linux distributions.

[fd](https://github.com/sharkdp/fd?ref=itsfoss.com)

## 7\. Procs

Procs is a modern replacement for the `ps` command, written in Rust.   
  
It provides a colored, human-readable output with automatic theme detection based on the terminal background. It is also available for all major platforms, Linux, Mac, and Windows.

![Procs command returns the running processes and their details](https://itsfoss.com/content/images/2023/01/procs.png)

*Procs Command*

**Features of Procs**

- Multi-column keyword search
- Pager support
- Watch mode (like top) and Tree view
- Some additional information which are not supported by ps: TCP/UDP port, Read/Write throughput, Docker container name, and More memory information.

**Install Procs**

Procs is available as a snap. So if you are using Ubuntu, or you have [snap app support enabled](https://itsfoss.com/use-snap-packages-ubuntu-16-04/), run the following command to install procs:

```
sudo snap install procs
```

It is also available in the Arch Linux community repository and Fedora official repositories.

[Procs](https://github.com/dalance/procs?ref=itsfoss.com)

## 8\. Tealdeer

tldr is a simplified, community-driven collection of manpages, while Tealdeer is a speedy rust implementation of tldr. 

Man pages are a treasure for those starting new in the Linux command line. But the traditional man page provides a huge amount of information, which may overwhelm many. 

The simplified tldr is a great relief because Tealdeer adds fast retrieval of the data in a neat format.

![Tealdeer command displays a consise and easy to comprehend man page](https://itsfoss.com/content/images/2023/01/tealdeer.png)

*Tealdeer*

**Features of Tealdeer**

- Downloads and cache pages, so you need internet only when updating the cache.
- Advanced highlighting and configuration.
- Output color support.
- Comply with the tldr client specification

**Install TealDeer**

Tealdeer is available in Arch Linux and Fedora repositories. Users of these systems can install it from there. If you are using Ubuntu, install tealdeer with cargo:

```
cargo install tealdeer
```

Once installation is finished, run the following command to update the cache:

```
tldr --update
```

Another exciting thing is that a static binary available to download, which doesn't require any installation. You can check it on their [GitHub releases page](https://github.com/dbrgn/tealdeer/releases?ref=itsfoss.com).

[Tealdeer](https://github.com/dbrgn/tealdeer?ref=itsfoss.com)

## 9\. Bottom

Bottom is a customizable cross-platform graphical process/system monitor inspired by tools like htop, gtop, etc. 

One of the main highlights of this system monitor tool is the availability of graphical visualization widgets for CPU usage, RAM usage, etc.

![Bottom Command: Another system monitor tool. A gif showing its working.](https://itsfoss.com/content/images/2023/01/bottom.gif)

*Bottom: A System Monitor*

**Features of Bottom**

- Widgets for displaying info about battery usage, disk capacity, temperature sensors, etc.
- A process widget for displaying, sorting, and searching info about processes, as well as support for kill signals and tree mode.
- Customizable behavior that can be controlled with command-line flags or a config file.
- An htop-inspired basic mode and expansion, which focuses on just one widget.

**Install Bottom**

Bottom is available in the Arch Linux Community repository and also available as a snap. If you use Ubuntu/Debian, there is a deb package for stable and nightly builds on its GitHub [releases page](https://github.com/ClementTsang/bottom/releases?ref=itsfoss.com).

You can also use the following commands to install it via the terminal:

```
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.7.1/bottom_0.7.1_amd64.deb
sudo dpkg -i bottom_0.7.1_amd64.de
```

[Bottom](https://github.com/ClementTsang/bottom?ref=itsfoss.com)

## 10\. Zoxide

You should be aware of the `cd` command used to move into various directories. While `cd` is plenty good, Zoxide is kind of a **smarter cd**. Zoxide can remember the directories you use most frequently, so you can "jump" to them in just a few keystrokes.

This helps to boost your productivity, and more importantly, it is available for all significant shells out there.

![Zoxide works same as cd command, but remembers the frequent directories. A gif showing its working. ](https://itsfoss.com/content/images/2023/01/zoxide.gif)

*Zoxide: A modern `cd` command alternative*

**Features of Zoxide**

- Runs on most major platforms, Linux, mac, Windows, BSD and Android.
- Third-party integrations for Vim, Emacs, Ranger file manager, ZSH-Autocomplete, etc.
- Optional interactive selection using fzf command-line fuzzy finder
- Works on all major shells.

**Install Zoxide**

For Ubuntu 21.04 and above, Zoxide is available on official repositories. Just run:

```
sudo apt install zoxide
```

Or if you want to install the latest version, use:

```
curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash
```

After installing, add the following line to the bottom of your bashrc.

```
eval "$(zoxide init bash)"
```

[Zoxide](https://github.com/ajeetdsouza/zoxide?ref=itsfoss.com)

## 11\. Broot

Broot is another rust tool, through which you can navigate directories. 

You can get an overview of big directories, making it easier for you to explore. And, when searching for a file, it tries to select the most relevant file.

![Broot: Navigate directories](https://itsfoss.com/content/images/2023/01/broot.png)

*Broot: Navigate directories*

**Features of Broot**

- Get overview of big directories
- You may also search with a regular expression
- Manipulate your files**:** Move, copy, rm, mkdir, are built in and you can add your shortcuts.
- Manage files with panels and preview files

**Install Broot**

You can get precompiled binaries from the [official downloads page](https://dystroy.org/broot/download/?ref=itsfoss.com).

[Broot](https://dystroy.org/broot/?ref=itsfoss.com)

## 12\. Skim

Skim is a command-line fuzzy finder. It can be used as a general filter (like `grep`) or as an interactive interface for invoking commands.

You can explore its [GitHub page](https://github.com/lotabout/skim?ref=itsfoss.com) for usage instructions.

![skim command-line fuzzy find screenshot](https://itsfoss.com/content/images/2023/01/skim.webp)

*Skim: Command-Line Fuzzy Finder*

**Features of Skim**

- It can invoke other commands dynamically.
- It provides a regex mode, which you can switch dynamically by pressing `Ctrl-R` (Rotate Mode).
- Supports customization of the color scheme.
- Supports pre-selection

**Install Skim**

Skim is available in Fedora and Arch Linux repositories, from where you can install using `dnf` and `pacman` respectively. For other users, it can be installed using cargo or homebrew.

```
cargo install skim
```

[Skim](https://github.com/lotabout/skim?ref=itsfoss.com)

## 13\. Tokei

Tokei is a program that displays statistics about your code, like the number of files, total lines within those files and code, comments, etc. It is available for macOS, Linux, and Windows.

![Tokei tool displaying statistics of a code screenshot](https://itsfoss.com/content/images/2023/01/tokei.png)

*Tokei: Displays statistics about your code*

**Features of Tokei**

- Tokei is very fast and can count millions of lines of code in seconds.
- Correctly handles multi-line and nested comments, and not counting comments in strings. Providing accurate code statistics.
- Supports over **150** languages and their various extensions.
- Tokei is also a **library** allowing you to easily integrate it with other projects.

**Install Tokei**

Many distributions like Arch Linux, Fedora, and OpenSUSE have Tokei in their repositories. In Ubuntu, you can install Tokei using Cargo.

```
cargo install tokei
```

[Tokei](https://github.com/XAMPPRocky/tokei?ref=itsfoss.com)

## 14\. Alacritty

Alacritty is one of the [best Linux terminal emulators](https://itsfoss.com/linux-terminal-emulators/) that supports all major platforms. It comes with extensive configuration capabilities and is known for its fast performance.

![Alacritty: A Modern Terminal Emulator](https://itsfoss.com/content/images/2023/01/alacritty.png)

*Alacritty: A Modern Terminal Emulator*

**Features of Alacritty**

- The vi mode allows moving around Alacritty's viewport and scrollback using the keyboard.
- You can open URLs with your mouse by clicking on them.\\
- Search allows you to find anything in Alacritty's scrollback buffer.
- Alacritty supports running multiple terminal emulators from the same instance.

**Install Alacritty**

Precompiled binaries are available on their [GitHub releases page](https://github.com/alacritty/alacritty/releases?ref=itsfoss.com). You can also install it using cargo. First, you need to install the required dependencies:

```
sudo apt install cmake pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3
```

Now install Alacritty using the command below:

```
cargo install alacritty
```

Once installed, launch Alacritty from the terminal.

[Alacritty](https://alacritty.org/?ref=itsfoss.com)

## Honorable Mentions

- [monolith](https://github.com/y2z/monolith?ref=itsfoss.com): CLI tool for saving complete web pages as a single HTML file
- [macchina](https://github.com/macchina-cli/macchina?ref=itsfoss.com): A system information frontend.
- [Ouch](https://github.com/ouch-org/ouch?ref=itsfoss.com): Painless compression and decompression for your terminal
- [Difftastic](https://github.com/Wilfred/difftastic/?ref=itsfoss.com): structural diff tool that compares files based on their syntax.
- [Topgrade](https://github.com/topgrade-rs/topgrade?ref=itsfoss.com): Upgrade all the things by detecting the tools you use and running the appropriate commands to update them.
- [sd](https://github.com/chmln/sd?ref=itsfoss.com): Intuitive find & replace CLI (sed alternative)

💬*What is your favorite on the list? Did we miss listing your favorite rust tools for the Linux terminal? Share your thoughts in the comments section below.*