Repolode
uutils

uutils/coreutils

A cross-platform reimplementation of GNU coreutils in Rust, providing drop-in replacements for commands like ls, cat, and cp.

Open-source alternative to:GNU coreutils

Stars
24,338
Forks
2,156
Open issues
1,283
Last commit
14 hours ago

What is it?

uutils coreutils is a Rust rewrite of the GNU coreutils, the core set of command-line utilities such as ls, cat, cp, rm, and echo that ship with most Linux systems. The project aims to be a drop-in replacement, with differences from GNU treated as bugs, and it targets matching GNU's stdout and exit codes exactly.

The project builds on Linux, macOS, BSDs, Windows, and WASI. It can be compiled as a single multicall (BusyBox-style) binary or as individual per-utility binaries, using either Cargo or GNU Make. Optional features cover platform-specific utilities, SELinux tools such as chcon and runcon, and OpenSSL-accelerated checksums.

The project also includes extensions such as a --progress option, improved error messages with caret-style diagnostics at a terminal, and UTF-8 internationalization. Prebuilt binaries, manpages, and shell completions are published from the main branch.

Key features

  • 01Reimplements core GNU utilities such as ls, cat, cp, and rm in Rust.
  • 02Builds as a single multicall binary or as individual per-utility binaries.
  • 03Supports Linux, macOS, BSDs, Windows, and WASI.
  • 04Offers optional OpenSSL-backed checksum utilities and SELinux tools.
  • 05Provides shell completions for bash, fish, zsh, elvish, and PowerShell.

Use cases

  • Trying a memory-safe Rust implementation of everyday Unix commands.
  • Running scripts consistently across Linux, macOS, BSD, and Windows.
  • Building a minimal BusyBox-style binary for embedded or constrained systems.
  • Testing or contributing to GNU-compatible command-line behavior.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/uutils/coreutils
  2. 2

    Enter the project directory

    cd coreutils
  3. 3

    Build the release binary with Cargo

    cargo build --release

Things to know

  • Some options may be missing or behave differently from GNU coreutils.
  • Building the full package including documentation requires both Cargo and GNU Make on a Unix platform.

Topics

FAQ

What is coreutils?
A cross-platform reimplementation of GNU coreutils in Rust, providing drop-in replacements for commands like ls, cat, and cp. uutils coreutils is a Rust rewrite of the GNU coreutils, the core set of command-line utilities such as ls, cat, cp, rm, and echo that ship with most Linux systems. The project aims to be a drop-in replacement, with differences from GNU treated as bugs, and it targets matching GNU's stdout and exit codes exactly.
Is coreutils free to use? What license does it have?
coreutils is open source under the MIT license. Check the license terms before using it in commercial products.
Is coreutils still maintained?
Actively maintained. The last commit to coreutils was on Nov 6, 2026.
What can I use coreutils for?
Trying a memory-safe Rust implementation of everyday Unix commands. Running scripts consistently across Linux, macOS, BSD, and Windows. Building a minimal BusyBox-style binary for embedded or constrained systems. Testing or contributing to GNU-compatible command-line behavior.
How do I install coreutils?
Clone the repository: git clone https://github.com/uutils/coreutils Enter the project directory: cd coreutils Build the release binary with Cargo: cargo build --release
Where can I get coreutils?
The source code and installation instructions are on GitHub: https://github.com/uutils/coreutils

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects