Rust Command Line Tool

Open-source Rust projects categorized as Command Line Tool | Edit details

Top 23 Rust Command Line Tool Projects

  • GitHub repo ripgrep

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

    Project mention: Feature comparison of ack, ag, Git-grep, grep and ripgrep | news.ycombinator.com | 2021-10-24

    I don't think the existence of a crate or not really impacts anything I said. More to the point, it would put a reliance on someone else to maintain a crate for critical functionality in ripgrep.

    It makes a lot more sense to me for something like Hyperscan to be maintained out of tree. I did work with the patch author a bit, and in particular, made some changes to ripgrep to make maintaining such a fork easier: https://github.com/BurntSushi/ripgrep/issues/1488

    Bottom line is, a lot of people think that adding a dependency has nearly zero cost. But it doesn't. Not by a long shot.

  • GitHub repo coreutils

    Cross-platform Rust rewrite of the GNU coreutils

    Project mention: Writing a Linux-compatible kernel in Rust | news.ycombinator.com | 2021-10-26

    Wow, yeah, good point.

    Rewrites in general are usually a terrible idea, unless the original is horribly broken (and beyond fixable).

    If you wrote your app in C++, instead of rewriting it for the next decade in Rust just to get to the same point, slap some AddressSanitizer, ThreadSanitizer, -fanalyzer, cppcheck, etc. on it. You will get 98% of the way there.

    Instead of spending 8+ years(!) rewriting[1] the GNU coreutils in Rust, you could spend half that time to ensure full coverage (branch-coverage, condition-coverage) in the existing ones. I will actually have a breakdown if someone tries to rewrite SQLite in Rust[2].

    1: https://github.com/uutils/coreutils

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo broot

    A new way to see and navigate directory trees : https://dystroy.org/broot

    Project mention: Any way to replace invoking commands with something other than :? | reddit.com/r/neovim | 2021-10-24

    I recently started using broot and love how one invokes "verbs" with the spacebar. Much easier to type " q" rather than ":q."

  • GitHub repo gitui

    Blazing 💥 fast terminal-ui for git written in rust 🦀

    Project mention: tui-rs Pause rendering to let vim have access to stdout? | reddit.com/r/rust | 2021-10-14

    The visualization can be solved via alternate screen but if you also capture input events this will also be an issue. I ran into the same situation with GitUI when you open VI as an external editor: https://github.com/extrawurst/gitui

  • GitHub repo grex

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

    Project mention: Release of grex 1.3.0 - Generate regular expressions from user-provided test cases | reddit.com/r/rust | 2021-09-15
  • GitHub repo zoxide

    A smarter cd command. Supports all major shells.

    Project mention: zoxide: A smarter cd command. Supports all major shells. | reddit.com/r/planetemacs | 2021-10-11
  • GitHub repo websocat

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

    Project mention: Testing the Async Cloud with AWS CDK | dev.to | 2021-09-13

    There's really nothing to this. I just have to provide the bus name and an optional pattern. Now using websocat, I get output like this:

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo miniserve

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

    Project mention: Miniserve: Cross-platform tool to serve files via HTTP | news.ycombinator.com | 2021-08-04
  • GitHub repo pueue

    :stars: Manage your shell commands.

    Project mention: Pueue - A neat way to queue shell commands | reddit.com/r/selfhosted | 2021-10-14

    Not exactly a 'self host', however, I found this tool to be super useful in queuing commands on my setups: https://github.com/Nukesor/pueue

  • GitHub repo rq

    Record Query - A tool for doing record analysis and transformation (by dflemstr)

    Project mention: Miller CLI – Like Awk, sed, cut, join, and sort for CSV, TSV and JSON | news.ycombinator.com | 2021-08-24

    There's also rq (record query)[1] that also supports CSV and JSON but not TSV though. It's written in Rust.

    [1] https://github.com/dflemstr/rq

  • GitHub repo tv

    📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment. (by alexhallam)

    Project mention: TV is a cross-platform CSV pretty printer made to maximize viewer enjoyment | news.ycombinator.com | 2021-09-27

    https://github.com/alexhallam/tv/pull/58

    I added VisiData in my README and represented it in a positive light in the description. Again, just wanted to apologize for my mistake.

    #better-together

  • GitHub repo t-rec-rs

    Blazingly fast terminal recorder that generates animated gif images for the web written in rust

    Project mention: stegano-rs tool packaged for linux | reddit.com/r/linux | 2021-01-18

    I think it was terminalizer. That was before I created t-rec

  • GitHub repo fcp

    A significantly faster alternative to the classic Unix cp(1) command, copying large files and directories in a fraction of the time.

    Project mention: This Week in Rust 398 | reddit.com/r/rust | 2021-07-08

    fcp 0.2.0 released - A significantly faster alternative to cp

  • GitHub repo menyoki

    Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️

    Project mention: rustypaste: A minimal file upload/pastebin service | reddit.com/r/commandline | 2021-07-27

    (uses menyoki and slop)

  • GitHub repo termchat

    Terminal chat through the LAN with video streaming and file transfer.

    Project mention: Termchat Terminal Chat Application On Lan With | reddit.com/r/rust | 2021-02-22

    Open here: https://github.com/lemunozm/termchat/issues/40

  • GitHub repo tin-summer

    Find build artifacts that are taking up disk space

    Project mention: Your favorite Rust CLI utility? I have my top 10 below. | reddit.com/r/rust | 2021-08-05

    I prefer tin-summer to kondo.

  • GitHub repo git-tidy

    Tidy up stale git branches.

    Project mention: What tools / utilities have you written that you use regularly? | reddit.com/r/commandline | 2021-09-17

    We squash merge at my work, so I use git-tidy basically every day. It’s the only thing I’ve written in my 10+ years as a dev that I have ever regularly used.

  • GitHub repo termscp

    🖥 A feature rich terminal UI file transfer and explorer with support for SCP/SFTP/FTP/S3

    Project mention: Whats your favourite open source Rust project that needs more recognition? | reddit.com/r/rust | 2021-10-11

    termscp terminal file transfer (FTP/SFTP/SCP/S3)

  • GitHub repo ouch

    Painless compression and decompression in the terminal

    Project mention: Whats your favourite open source Rust project that needs more recognition? | reddit.com/r/rust | 2021-10-11

    Shameless plug here, my favorite project currently is ouch, nobody knows about it, but I think it might gain some traction when we publish it again.

  • GitHub repo tac

    A high-performance, cross-platform file reverse utility (by neosmart)

    Project mention: TV is a cross-platform CSV pretty printer made to maximize viewer enjoyment | news.ycombinator.com | 2021-09-27

    cat just regurgitates the contents of the file, but the resulting piped fd is non-seekable. Since almost every command that can operate on a file from stdin can also operate on the file by name/path, at best this is just a needless invocation of a process (i.e. `tv foo.csv` should have been used instead of `cat foo.csv | tv`) - if the app in question can't handle paths, then you can have the shell pipe the file into it instead (e.g. `tv < foo.csv`). At worst, the recipient program would need to buffer the entire contents of the input if it needs to perform non-sequential operations on the source data - this is the case with things like `tac` that need to seek to the end of the input (see https://github.com/neosmart/tac for how `cat foo | tac` requires buffering but both `tac foo` and even `tac < foo` don't).

  • GitHub repo magnetfinder

    Multi-threaded CLI torrent scraper for displaying searched for magnet links; tailored for use with plex & ssh.

    Project mention: magnetfinder - a multi-threaded CLI torrent aggregator, perfect for Plex &amp; SSH. | reddit.com/r/rust | 2021-09-17
  • GitHub repo rtss

    Relative TimeStamps for Stuff

    Project mention: Awesome Rewrite It In Rust - A curated list of replacements for existing software written in Rust | reddit.com/r/rust | 2021-05-27

    rtss, a tss clone - a relative-time take on moreutils ts

  • GitHub repo asfa

    Avoid sending file attachments by uploading them via SSH to a remote site and sending a publicly-accessible URL with non-guessable (hash-based) prefix instead.

    Project mention: asfa: a small Rust CLI utility to quickly share files from terminal via your web server instead of mail attachment or direct transfer | reddit.com/r/rust | 2021-04-05
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-10-26.

Index

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

Project Stars
1 ripgrep 27,734
2 coreutils 9,038
3 broot 6,167
4 gitui 6,114
5 grex 4,627
6 zoxide 4,005
7 websocat 3,317
8 miniserve 2,750
9 pueue 2,369
10 rq 1,786
11 tv 1,291
12 t-rec-rs 547
13 fcp 398
14 menyoki 331
15 termchat 317
16 tin-summer 276
17 git-tidy 139
18 termscp 119
19 ouch 109
20 tac 73
21 magnetfinder 37
22 rtss 36
23 asfa 25
Find remote jobs at our new job board 99remotejobs.com. There are 38 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com