Skip to content

uutils coreutils

A Rust rewrite of GNU coreutils, the standard Unix file and text tools, aiming for drop-in compatibility.uutils/coreutils

Stars
24.3k
Forks
2.1k
Licence
MIT
Language
Rust
Last update
4 days ago
Type
App

What it is

uutils coreutils reimplements the GNU coreutils, the small set of everyday command-line programs (such as ls, cat, cp and rm) found on most Linux systems, in the Rust programming language. The project aims for output and error codes that match GNU exactly, and it runs on Linux, macOS, BSD, Windows and WebAssembly. It is used by people who want these tools written in a memory-safe language or who need them on platforms where GNU tools are not available.

  • Build a single multicall binary that provides many coreutils commands at once
  • Build individual utilities as separate binaries for selected programs
  • Try the utilities in a browser through the WebAssembly playground without installing anything
  • Generate shell completions and manpages for installed utilities with make or uudoc

Great for

  • Developers who want to try a Rust-based drop-in replacement for GNU coreutils
  • People building minimal or embedded systems that need a BusyBox-style multicall binary
  • Cross-platform script authors who want the same utilities on Linux, macOS, BSD and Windows
  • Contributors interested in Rust systems programming and GNU compatibility work

Not ideal for

  • Users who need exact GNU behavior in every edge case, since the README says some options may be missing or behave differently
  • People who need a fully supported production tool with guaranteed compatibility, as the README describes differences as bugs still being fixed
Step-by-step guide: how to use uutils coreutilsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Rust (cargo, rustc) · GNU Make (optional)

    Clone the repository

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

    Build a release binary with Cargo

    cargo build --release

    Install with Cargo

    cargo install --path . --locked
  2. 2

    Run it

    • Clone the repository and change into the coreutils directory
    • Run cargo build --release to build the multicall binary named coreutils
    • Run the built binary with a utility name, for example coreutils echo hello
    • Optionally run cargo install --path . --locked to place it in Cargo's bin folder
  3. 3

    Get the most out of it

    • Use --profile=release-small with cargo build to optimize binary size
    • Enable the openssl feature to speed up checksum utilities such as sha256sum
    • Build SELinux features (chcon, runcon) with the unix,feat_selinux features where libselinux and libclang are installed
    • Use make install to also install shell completions and manpages for bash, fish and zsh
    • Build only the utilities you need with --features or make UTILS to keep the binary small

Downloads

Strengths

  • Written in Rust, a memory-safe language, as stated in the project description
  • Targets many platforms, including Linux, macOS, *BSD, Windows and WASI
  • MIT licensed with prebuilt binaries published in releases

Trade-offs

  • Some options may be missing or behave differently from GNU, according to the README
  • Building the full package with documentation requires both Cargo and GNU Make on a Unix platform

How it compares

ProjectStarsTypeLevelUpdatedBest for
coreutils (this)24.3kAppintermediate4 days agoDevelopers who want to try a Rust-based drop-in replacement for GNU coreutils
DevToys32.2kAppbeginner1 months agoDevelopers who often decode, encode, or format small pieces of data
micro29.8kAppbeginner4 days agoPeople who work mostly in a terminal and want an easy editor
gitui22.6kAppbeginner1 months agoDevelopers who already work in a terminal and want a visual view of git changes
webview14.3kLibraryintermediate15 days agoC or C++ developers who want an HTML-based GUI without bundling a full browser framework
Terminal.Gui11.3kLibraryintermediate6 days agoC# / .NET developers building terminal tools with forms, tables or menus

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.