DEV Community

Cover image for 15 rust tools to level up your Linux terminal
Devlink Tips
Devlink Tips

Posted on

15 rust tools to level up your Linux terminal

Forget boring old ls, cat, and grep these Rust-based tools are faster, smarter, and built for real terminal power users.

Introduction

The Linux terminal is powerful but let’s be honest, it’s starting to show its age. Tools like ls, cat, grep, and find have been around for decades. They work, but they’re not exactly user-friendly, modern, or visually helpful.

€50 free credits for 30 days trial
 Promo code: devlink50

That’s where Rust comes in.

Rust is fast, safe, and increasingly becoming the language of choice for building next-gen command-line tools. Developers are rewriting the classics using Rust, and the results are impressive blazing-fast performance, sensible defaults, and beautiful output that doesn’t make your eyes bleed.

In this article, you’ll discover 15 Rust-powered tools that can replace or enhance the ones you use every day. From directory navigation to syntax-highlighting file viewers, these tools are built for power users, sysadmins, devs, and anyone who spends serious time in the terminal.

They’re not just upgrades. They’re quality-of-life improvements.

Let’s explore what a modern Linux terminal experience can really look like with Rust under the hood.

2. Exa

Replaces: ls
Why it’s better: exa is like ls if ls had a glow-up in 2025. It adds colorized output, Git status indicators, tree views, and smart file sorting. It supports icons, understands file metadata, and plays nicely with symlinks. Basically, it makes ls look like a typewriter.

Top features:

  • Tree view for visual directory structures (exa --tree)
  • Git status display (--git)
  • Human-readable file sizes (-h)
  • Sorting by file type, size, modified date, and more
  • Optional icons with Nerd Fonts

Use case: Replace ls -la with exa -la --git --icons and instantly get more readable, informative output.

Install:

  • sudo apt install exa
  • brew install exa
  • cargo install exa

GitHub: https://github.com/ogham/exa

2. Bat

Replaces: cat
Why it’s better: bat doesn’t just dump file contents it presents them. With syntax highlighting, line numbers, Git diff indicators, and auto-paging, it makes viewing files feel like scrolling through a well-formatted editor. Think of it as cat with VS Code energy.

Top features:

  • Syntax highlighting for 100+ languages
  • Git integration to show added/removed lines
  • Line numbers by default
  • Works seamlessly with less as a pager
  • Supports themes and config profiles

Use case: Want to inspect a .rs, .py, or .json file in style?
Try bat main.rs or bat config.yaml and enjoy the glow-up.
Can also be aliased to cat if you’re brave.

Install:

  • sudo apt install bat (may alias as batcat)
  • brew install bat
  • cargo install bat

GitHub: https://github.com/sharkdp/bat

3. Ripgrep

Replaces: grep

ripgrep (or rg) is what happens when you combine the speed of Rust with the power of recursive search. It’s faster than grep, respects .gitignore, and gives cleaner, more readable results by default. It also works great with modern editors like VS Code and Neovim.

Top features:

  • Blazing-fast recursive file search
  • Respects .gitignore and hidden files
  • Syntax-aware highlighting
  • Easy-to-read output with filename, line number, and match
  • Works seamlessly in CI or scripts

Use case: Instead of this mess
grep -rnw './' -e 'functionName'
Just do: rg functionName

Install:

  • sudo apt install ripgrep
  • brew install ripgrep
  • cargo install ripgrep

GitHub: https://github.com/BurntSushi/ripgrep

4. Fd

Replaces: find

fd is the search tool find wishes it was modern syntax, faster results, and colorized output that’s actually readable. It’s built for humans who don’t want to memorize cryptic flags just to locate a file.

Top features:

  • Smart defaults (searches current dir recursively)
  • Colorized, column-aligned output
  • Regex and glob support
  • Ignores hidden files and .gitignored files by default
  • Shell completions and interactive preview support

Use case:
Instead of typing this:
find . -name "*.rs"
Just type:
fd .rs

Install:

  • sudo apt install fd-find (may be aliased as fdfind)
  • brew install fd
  • cargo install fd-find

GitHub: https://github.com/sharkdp/fd

5. Dust

Replaces: du

dust (also known as du-dust) is a smarter, prettier alternative to du. It shows disk usage in a clean, tree-style layout with color-coded bars that help you visualize space-hogging directories at a glance. It’s fast, readable, and doesn't make you squint.

Top features:

  • Graph-style disk usage display
  • Human-readable size formatting
  • Sorts directories by size
  • Highlights largest consumers of space
  • Fast performance with minimal CPU usage

Use case:
Instead of running du -h --max-depth=1, just type:
dust
and get an immediate overview of which folders are eating your SSD alive.

Install:

  • cargo install du-dust
  • Available via brew install dust
  • Debian/Ubuntu users may need to install via cargo for latest version

GitHub: https://github.com/bootandy/dust

6. Bottom

Replaces: top, htop

bottom is a performance monitor for your terminal that looks really good. It shows CPU, memory, disk, and network usage in a slick, real-time interface with graph-based output, mouse support, and blazing responsiveness.

Top features:

  • Real-time system metrics with graphs
  • Keyboard and mouse navigation
  • Process tree view with filters and sorting
  • Custom themes and layout options
  • Low CPU overhead

Use case:
Need to monitor your system without launching a GUI? Just run btm.
Want to filter processes using memory or kill something directly? bottom makes it visual and interactive.

Install:

  • cargo install bottom
  • brew install bottom
  • snap install bottom (on supported Linux distros)

GitHub: https://github.com/ClementTsang/bottom

7. Procs

Replaces: ps

If ps aux is a printout from a 1980s dot matrix printer, procs is a modern dashboard. It gives you a structured, color-coded view of running processes with icons, command grouping, and helpful filters. It even shows process trees without needing extra flags or hacks.

Top features:

  • Auto-formatted and colorized process table
  • Displays command line, PID, CPU, memory, and status
  • Tree view of process hierarchy
  • Search and filter by user, name, or PID
  • Columns are customizable

Use case:
To get an instant overview of what’s running and filter it like a boss:
procs
or try procs --sort mem to catch memory hogs.

Install:

  • cargo install procs
  • Not usually available via apt/brew (use cargo for latest)

GitHub: https://github.com/dalance/procs

8. Tokei

Replaces: cloc

tokei is your go-to if you’ve ever wondered, “How many lines of code is this entire mess, really?” It analyzes your project and spits out stats on files, lines, comments, blanks, and code all categorized by language. It’s fast, clean, and surprisingly motivating (or depressing, depending on the results).

Top features:

  • Counts code, comments, and blank lines
  • Language-wise breakdown
  • Supports 150+ programming languages
  • Can output in JSON, YAML, or human-readable format
  • Fast even on large codebases

Use case:
Want to get a quick pulse on how big your codebase is?
Just run:
tokei
Or get structured output for dashboards:
tokei --output json

Install:

  • cargo install tokei
  • brew install tokei

GitHub: https://github.com/XAMPPRocky/tokei

9. Zoxide

Replaces: cd

zoxide is like cdbut with a memory. It tracks your most-used directories and lets you jump to them instantly with fuzzy search. The more you use it, the smarter it gets. It’s like muscle memory, but for your filesystem.

Top features:

  • Learns your directory habits over time
  • Jump to frequently used paths with just z <dir>
  • Fuzzy search built-in
  • Works across Bash, Zsh, Fish, PowerShell
  • Supports interactive directory search with zi

Use case:
Instead of typing full paths or tabbing forever:
z src/components will jump there instantly.
And zi lets you fuzzy-pick interactively.

Install:

  • cargo install zoxide
  • brew install zoxide
  • Add to your shell’s .zshrc, .bashrc, or config

GitHub: https://github.com/ajeetdsouza/zoxide

10. Starship

Replaces: Your shell prompt

starship is a fast, customizable, and cross-shell prompt written in Rust. It replaces your boring default prompt with a snappy, context-aware UI that shows your Git status, current directory, runtime versions, battery life, and more right in your prompt, instantly.

Top features:

  • Super-fast and minimal prompt
  • Works with Bash, Zsh, Fish, PowerShell, etc.
  • Shows Git branch/status, node/python/rust versions
  • Battery, time, jobs, and more in real-time
  • Full config via starship.toml

Use case:
Want your terminal prompt to actually be helpful without being cluttered?
Install starship and start seeing your dev environment at a glance.

Install:

GitHub: https://github.com/starship/starship

11. Hyperfine

Replaces: manual benchmarking or time

Hyperfine is a benchmarking tool for command-line programs. It doesn’t just tell you how fast a command ran it runs it multiple times, calculates averages, and gives you pretty output with bar graphs. Perfect for testing scripts, comparing tools, or settling once and for all which version of your alias is faster.

Top features:

  • Accurate benchmarking with warmup runs
  • Statistical output with standard deviation
  • Side-by-side comparisons with multiple commands
  • Built-in chart visualization
  • Exports results to JSON or Markdown

Use case:
Want to compare the speed of grep vs ripgrep?
Just run:
hyperfine 'grep TODO *' 'rg TODO'

Install:

  • brew install hyperfine
  • cargo install hyperfine
  • sudo apt install hyperfine (may require newer repos)

GitHub: https://github.com/sharkdp/hyperfine

12. Choose

Replaces: cut

choose is a smarter, more interactive alternative to cut. Instead of blindly extracting fields by position, it lets you name and select fields based on headers perfect for structured text like CSV or TSV. It’s the tool you never knew you needed until you’ve spent 10 minutes debugging a cut -d',' -f3 gone wrong.

Top features:

  • Select fields by name or position
  • Interactive mode for previewing column selections
  • Supports CSV, TSV, and other delimited formats
  • Colorized output for clarity
  • Ideal for data inspection in logs, exports, or pipelines

Use case:
Working with a messy CSV file?
Instead of this:
cut -d',' -f2
You can do:
choose name,email

Install:

  • cargo install choos
  • Not available via apt/brew stick with cargo

GitHub: https://github.com/theryangeary/choose

13. Gitui

Replaces: git CLI for common tasks

gitui is a blazing-fast terminal user interface for Git. Think of it as tig with a better UI, or a no-mouse-needed GitKraken for your terminal. It’s fast, intuitive, and gives you full control over your repos—commits, diffs, staging, and more without writing a single Git command.

Top features:

  • TUI for staging, committing, and branching
  • View diffs, logs, stash, and untracked files
  • Super fast with zero lag, even on large repos
  • Mouse-free, keyboard-navigable interface
  • Works out of the box, no config required

Use case:
Need to stage multiple files, inspect diffs, or resolve a conflict quickly?
Just run gitui inside your repo and do it all in one place—visually.

Install:

  • cargo install gitui
  • brew install gitui
  • Binary releases available via GitHub for Windows/Linux

GitHub: https://github.com/extrawurst/gitui

14. Broot

Replaces: tree and even parts of cd

broot is an interactive tree view and fuzzy finder for your filesystem. It lets you navigate directories, preview files, and jump into folders all from a single keyboard-driven interface. It’s like combining tree, cd, and fzf into one brainy tool.

Top features:

  • Interactive tree view with keyboard navigation
  • Fuzzy search to locate and jump to files
  • Previews file content with syntax highlighting
  • Git integration for status indicators
  • Optional mode to replace cd with b

Use case:
Want to explore your project folders, jump to a file, or see Git status — all in one go?
Just type broot, and you're flying through directories without leaving the terminal.

Install:

  • cargo install broot
  • brew install broot
  • Run br after install to start (or broot if not aliased)

GitHub: https://github.com/Canop/broot

15. Gping

Replaces: ping

gping is like ping, but visual. Instead of plain, scrolling text, you get a live-updating graph of your ping times to one or more hosts. It’s clean, informative, and honestly kind of addictive to watch. Great for monitoring network status in real time.

Top features:

  • Graphs latency over time for one or more hosts
  • Color-coded visual output
  • Easy comparison between multiple endpoints
  • Real-time updates with low resource usage
  • Works great in CI/network debugging

Use case:
Want to know if your DNS, gateway, or Google is acting up?
Try:
gping 1.1.1.1 8.8.8.8 google.com

Install:

  • cargo install gping
  • brew install gping
  • Linux users can build from source or use precompiled releases

GitHub: https://github

Conclusion

You don’t have to be a Rust developer to enjoy the benefits of Rust-powered tools. Whether you’re a Linux purist, a terminal enthusiast, or just someone tired of ancient utilities that never evolve, these 15 tools are proof that the CLI experience doesn’t have to stay stuck in the ‘80s.

They’re not just faster they’re cleaner, safer, more feature-rich, and often surprisingly fun to use. Even swapping out a few of your daily commands can dramatically upgrade your productivity and comfort inside the terminal.

Start small. Try bat, fd, or exa. Then let yourself fall into the rabbit hole of smarter, sharper tools. Your future self will thank you especially the next time you don’t have to decode a five-flag grep command just to find a string in a folder.

Helpful resources

Top comments (0)