Rust Command-line

Open-source Rust projects categorized as Command-line

Top 23 Rust Command-line Projects

  • GitHub repo bat

    A cat(1) clone with wings.

    Project mention: Which AUR-helper is recommended? | | 2021-04-10

    Right now Paru and Yay are almost equivalent. Paru has some extra features which you might never even use, such as bat compatibility. Since Paru is newer than Yay you should expect more bugs with it. (I haven't encountered any bugs myself with either) Both Yay and Paru should work just fine, but I would probably go with Paru myself.

  • GitHub repo ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

    Project mention: Guide on cross-compilation & publishing binaries? | | 2021-04-12
  • GitHub repo fd

    A simple, fast and user-friendly alternative to 'find'

    Project mention: Why Do Long Options Start with Two Dashes? | | 2021-04-08

    If anyone is looking for alternatives, try fd

  • GitHub repo exa

    A modern replacement for ‘ls’.

    Project mention: 리눅스 명령어 ls를 현대적으로 대체할 수 있는 명령어 | | 2021-04-06
  • GitHub repo hyperfine

    A command-line benchmarking tool

    Project mention: Experiments with h3 clients + Envoy | | 2021-04-12

    I used the excellent hyperfine for testing. Please note that benchmarking is hard and this is in no way a proper benchmark. This is more for fun, learning how to build and use new h3 clients and working out how to configure h3 / QUIC for Envoy. Please take all results with a huge grain of salt

  • GitHub repo xsv

    A fast CSV command line toolkit written in Rust.

    Project mention: xsv | | 2021-04-10
  • GitHub repo hexyl

    A command-line hex viewer

    Project mention: [WIP] A colorized alternative to hexdump | | 2021-02-05

    Have you tried hexyl?

  • GitHub repo clap-rs

    A full featured, fast Command Line Argument Parser for Rust

    Project mention: stubr: Wiremock in Rust | | 2021-04-02

    It also comes in different flavours: * a Rust crate e.g. Stubr::start("tests/stubs/ping.json").await * a cli installable with cargo install stubr-cli and with completion files generation thanks to clap * a Docker image * a Helm chart with HPA (Horizontal Pod Autoscaler)

  • GitHub repo broot

    A new way to see and navigate directory trees :

    Project mention: Show HN: A hackable, minimal, fast TUI file explorer | | 2021-04-05
  • GitHub repo tui-rs

    Build terminal user interfaces and dashboards using Rust

    Project mention: Blessed: Curses-like library with high level terminal interface API for Node.js | | 2021-03-31
  • GitHub repo pastel

    A command-line tool to generate, analyze, convert and manipulate colors (by sharkdp)

    Project mention: Colin - Cute color information tool. | | 2021-04-08

    How does this compare to pastel?

  • GitHub repo onefetch

    Git repository summary on your terminal

    Project mention: [Onefetch v2.8.0] Git repository summary on your terminal | | 2020-12-24

    Tool: Art by リヤ・クブシノブ

  • GitHub repo dog

    Command-line DNS client

    Project mention: A tiny command line DNS client with support for UDP, DoT, DoH, and DoQ. | | 2021-04-05

    I think dog is a great tool. It has similar functionality to q with the main lacking feature being DoQ support. Other than that I totally recommend dog, especially as it's been around longer than q so it's had more time for testing.

  • GitHub repo websocat

    Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions

    Project mention: Exploring the methods of looking into Ethereum’s transaction pool | | 2020-12-23

    Subscriptions is real-time streaming of data from server to client through WebSocket. You will need a constantly active connection to stream such events. You cannot use curl for this and have to use a WebSocket client like websocat if you want to access it via command line. Once executed, a stream of pending transaction IDs will start flowing in.

  • GitHub repo miniserve

    🌟 For when you really just want to serve some files over HTTP right now!

    Project mention: My weekend yak shave -- kcup serves a single file from disk or STDIN over HTTP with Rust and Go | | 2021-03-26

    For an out-of-the-box solution, check out miniserve. It’s a popular Rust application purpose-built to just serve some files (or a single file) over HTTP.

  • GitHub repo zoxide

    A faster way to navigate your filesystem

    Project mention: How you guys are navigating files? | | 2021-04-11
  • GitHub repo sd

    Intuitive find & replace CLI (sed alternative)

    Project mention: Debian Running on Rust Coreutils | | 2021-03-09

    Sed isn't part of the coreutils, though, so this would be outside of the scope of at least this project.

    There is written in Rust, but it's far from a sed replacement – it's reducing it to search and replace for fixed strings, as far as I can tell.

  • GitHub repo indicatif

    A command line progress reporting library for Rust

    Project mention: Hey Rustaceans! Got an easy question? Ask here (15/2021)! | | 2021-04-12

    Do you mean you want something like Python's tqdm for reporting progress through an iterator? The usual solution for that would be the indicatif crate:

  • GitHub repo pueue

    :stars: Manage your shell commands.

    Project mention: Tool to queue tasks and add/remove them? | | 2021-03-09

    Have your heard of pueue? I'm not sure if it lets you limit the active jobs to two at a time because I didn't have a need for that yet, but otherwise it seems to tick the boxes.

  • GitHub repo crossterm

    Cross platform terminal library rust

    Project mention: ttyper - a typing test in the terminal written in Rust | | 2021-03-15

    Me neither - I am speaking from experience, not from having read specifications on control codes or anything. This got me searching a bit and thought I'd share here what I found: - - particular this exact line of proposed code I'm guessing might fix the issue I'm seeing. - also from "Control char" table in "ANSI Escape Code" Wikipedia article i found:

  • GitHub repo rustyline

    Readline Implementation in Rust

    Project mention: What would SQLite look like if written in Rust? — Part 1 | | 2021-02-16

    The REPL logic is pretty straight forward, basically we will need an infinite loop that prints a prompt, gets an input line, validates and then processes that line. I decided to go with the crate rustyline, which is already pretty mature, memory efficient and already solved a lot of the issues we would have to deal with, even from the user experience side, for example, providing hints and auto-completion in real time, which is a great feature.

  • GitHub repo rust_cmd_lib

    Common rust command-line macros and utilities, to write shell-script like tasks in a clean, natural and rusty way

    Project mention: How to do things safely in Bash | | 2021-04-03

    zsh is also doing the variable substitution better than bash. FYI, I just released rust_cmd_lib 1.0 recently, which can do variable substitution without any quotes:

  • GitHub repo quicli

    Quickly build cool CLI apps in Rust.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-04-12.


What are some of the best open-source Command-line projects in Rust? This list will help you:

Project Stars
1 bat 26,027
2 ripgrep 24,452
3 fd 16,893
4 exa 12,796
5 hyperfine 7,361
6 xsv 7,011
7 hexyl 5,916
8 clap-rs 5,737
9 broot 5,133
10 tui-rs 4,757
11 pastel 3,190
12 onefetch 2,893
13 dog 2,847
14 websocat 2,686
15 miniserve 2,341
16 zoxide 2,305
17 sd 2,117
18 indicatif 1,854
19 pueue 1,745
20 crossterm 1,049
21 rustyline 723
22 rust_cmd_lib 634
23 quicli 484