uutils
uutils logo
uutils

The uutils project reimplements ubiquitous command line utilities in Rust. Our goal is to modernize the utils, while retaining full compatibility with the existing utilities.

We are planning to replace all essential Linux tools.

Why?

C has served us well for decades, but it is time to move on. For new generations of developers, Rust is more appealing — and it brings real, substantive benefits:

  • Memory safety — eliminates entire categories of bugs without sacrificing performance
  • Cross-platform portability — the same code runs on Linux, macOS, Windows, Android, FreeBSD, NetBSD, OpenBSD, Solaris, Illumos, Fuchsia, Redox and even WebAssembly
  • Modern tooling — Cargo, crates.io and a rich ecosystem mean we don't have to reinvent the wheel
  • Easy parallelism — fearless concurrency built into the language
  • Terrific performance — on par with or better than C implementations

This is not about fighting the GNU project. It is not primarily about security (GNU coreutils only had 17 CVEs since 2003) or about license debates. It is about modernizing foundational software so it can be maintained and improved by the next generation of contributors.

Ubuntu is already carefully but purposefully adopting uutils coreutils, and Debian is following the same path.

Projects

Crates

We maintain a variety of public crates to support our projects, which are published on crates.io.

Contributing

You can help us out by:

  • Contributing code
  • Contributing documentation
  • Reporting bugs (e.g. incompatibilities with GNU utilities)
  • Triaging bugs
  • Sponsoring uutils on GitHub

You can join our Discord server to discuss or ask anything concerning uutils. We're happy to help you get started with contributing!

Talks & Media

We did a few talks about this project, see our talks & media page.

Friends of uutils

We collaborate with and build upon many other projects in the Rust community, either by using or providing crates. We highly recommend giving these projects a look!

uutils, MIT