An all-in-one multicall binary that implements many standard Linux command line utilities in a single, configurable C program.
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
Clone the repository
git clone https://github.com/uutils/coreutils - 2
Enter the project directory
cd coreutils - 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
A terminal multiplexer that lets you run, manage and detach multiple terminal sessions from a single window.
A TAP-compliant automated testing framework for writing and running tests of Bash scripts and other UNIX programs.
Oils is a bash-compatible shell (OSH) plus a newer, Python-and-JavaScript-style shell language (YSH), written in Python and translated to C++.
A breadth-first variant of the UNIX find command that lists shallow files before deep ones, compatible with POSIX and BSD/GNU find.
A line-oriented regex search tool (rg) that recursively searches directories while respecting .gitignore rules by default.