uutils coreutils is a cross-platform reimplementation of the GNU coreutils in Rust. While all programs have been implemented, some options might be missing or different behavior might be experienced.
To install it:
cargo install coreutils
~/.cargo/bin/coreutils
Goals
uutils aims to be a drop-in replacement for the GNU utils. Differences with GNU are treated as bugs.
uutils aims to work on as many platforms as possible, to be able to use the same utils on Linux, Mac, Windows and other platforms. This ensures, for example, that scripts can be easily transferred between platforms.
Documentation
uutils has both user and developer documentation available:
Both can also be generated locally, the instructions for that can be found in the coreutils docs repository.
Requirements
- Rust (
cargo
,rustc
) - GNU Make (optional)
Rust Version
uutils follows Rust’s release channels and is tested against stable, beta and nightly. The current Minimum Supported Rust Version (MSRV) is 1.79.0
.
Building
There are currently two methods to build the uutils binaries: either Cargo or GNU Make.
Building the full package, including all documentation, requires both Cargo and Gnu Make on a Unix platform.
For either method, we first need to fetch the repository:
git clone https://github.com/uutils/coreutils
cd coreutils
Cargo
Building uutils using Cargo is easy because the process is the same as for every other Rust program:
cargo build --release
For more information click here.