A list of popular Linux commands that have already been rewritten in Rust. The goal of this list is to help you transition to Rust: you can either choose a Linux command and rewrite it yourself, estimating the workload by checking the number of lines of code in its C repository, or find ongoing projects and contribute to them. It also shows which popular TUIs are commonly used in Rust when rewriting commands from C to Rust.
| Command (C) | Stars (C) | LoC (C) | Command (Rust) | Stars (Rust) | Alternatives | Search more |
|---|---|---|---|---|---|---|
| cat | 4700 | 695 | bat | 54048 | cat | GitHub / Google |
| chmod | 4700 | 566 | chmod | 21026 | GitHub / Google | |
| cp | 4700 | 1116 | cp | 21026 | GitHub / Google | |
| du | 4700 | 963 | du | 21026 | GitHub / Google | |
| echo | 4700 | 247 | echo | 21026 | GitHub / Google | |
| env | 4700 | 792 | env | 21026 | GitHub / Google | |
| false | 4700 | 2 | false | 21026 | GitHub / Google | |
| head | 4700 | 930 | head | 21026 | GitHub / Google | |
| hostname | 4700 | 94 | hostname | 21026 | GitHub / Google | |
| kill | 4700 | 269 | kill | 21026 | GitHub / Google | |
| ls | 4700 | 4821 | ls | 21026 | GitHub / Google | |
| mkdir | 4700 | 267 | mkdir | 21026 | GitHub / Google | |
| rmdir | 4700 | 259 | rmdir | 21026 | GitHub / Google | |
| mv | 4700 | 494 | mv | 21026 | GitHub / Google | |
| pwd | 4700 | 333 | pwd | 21026 | GitHub / Google | |
| rm | 4700 | 328 | rm | 21026 | GitHub / Google | |
| sleep | 4700 | 122 | sleep | 21026 | GitHub / Google | |
| tee | 4700 | 294 | tee | 21026 | GitHub / Google | |
| tail | 4700 | 2166 | tail | 21026 | GitHub / Google | |
| touch | 4700 | 375 | touch | 21026 | GitHub / Google | |
| true | 4700 | 67 | true | 21026 | GitHub / Google | |
| yes | 4700 | 113 | yes | 21026 | GitHub / Google | |
| wc | 4700 | 855 | wc | 21026 | GitHub / Google | |
| uptime | 4700 | 177 | uptime | 21026 | GitHub / Google | |
| whoami | 4700 | 72 | whoami | 21026 | GitHub / Google | |
| ffmpeg | 52539 | 1538205 | GitHub / Google | |||
| f3 | 2937 | 6368 | GitHub / Google | |||
| curl | 38653 | 312057 | GitHub / Google | |||
| nano | 142 | 18628 | GitHub / Google | |||
| wget | 422 | 50382 | GitHub / Google | |||
| htop | 7355 | 36119 | GitHub / Google |
Status:
The article is:
- 🇺🇦 Published in Ukrainian on DOU
- 🌍 Will be translated and later published in English on Reddit's r/rust
Links will be added here after publication.
We welcome contributions! If you would like to add a new command to the list, please follow these rules:
- The command must be a well-known command written in C.
- There must be an existing Rust repository implementing this command with 100+ GitHub stars.
- All changes should be made only in
internal/data/commands.go.