GrayJack
coreutils
Rust

Core utils re-implementation for UNIX/UNIX-like systems written in Rust

Last updated May 14, 2026
110
Stars
38
Forks
42
Issues
0
Stars/day
Attention Score
26
Language breakdown
No language data available.
Files click to expand
README

Coreutils in Rust

Hits-of-Code Build Status FOSSA Status

An in-progress safe implementation of coreutils aiming for a minimal and yet complete set of utilities. This project aims at the POSIX specification basic requirements, plus common and useful features present in other implementations of the utility.

This project has no intent to be 100% compatible with GNU's coreutils, like Uutils' coreutils, but if it happens to be, it's okay too.

Minimum Rust Version Policy

This project's minimum supported rustc version (MSRV) is 1.58.0.

This will not be conservative until we get to a 1.0 version. So it can be changed at any point in time.

Compilation tests guarantees

The compilation is tested for Rust Tier 1 and Tier 2 x8664 Unix/Unix-like_ platforms (except Redox), with CI.

All platforms are tested on MSRV and stable Rust, and Tier 1 platforms are also tested on beta and nightly Rust (Tier 2 and 3 only guarantee stable full capacity).

Also, note that Tier 3 Rust tests can fail before it hits the compilation check, since my only option is to use a Linux system, add the target, and do cargo check --target, and they often are not available as a target for any Tier 1 platforms. If you use one of these platforms and have the right MSRV requirements and it build successfully, let me know, if it fails, open an issue with the compilation error.

| Platform | Tier | CI Status | Manual Status | | :----------: | :----: | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: | | Linux | Tier 1 | Linux | Passing (Manjaro Linux 5.3.2 - 2019-10-28) (8695863) | | MacOS | Tier 1 | MacOS | - | | FreeBSD | Tier 2 | FreeBSD | Passing (FreeBSD 12.0 - 2019-10-28) (8695863) | | NetBSD | Tier 2 | NetBSD | - (system without minimal version) | | Illumos | Tier 2 | Illumos | - (system without minimal version) | | Solaris | Tier 2 | Solaris | - (system without minimal version) | | Fuchsia | Tier 2 | Fuchsia | - | | OpenBSD | Tier 3 | OpenBSD | Passing (OpenBSD 6.6 Current - 2019-10-28) (8695863) | | DragonflyBSD | Tier 3 | DragonflyBSD | Passing (DragonflyBSD 5.6.2 - 2019-10-28) (8695863) | | Haiku | Tier 3 | Haiku | - |

Compilation

Since not all targets provide full Unix API coverage (they aren't Unix or lack libc crate support), some can provide a Cargo.toml that have all utilities that should work on the target.

Compilation example for

cp <PLATFORM>.toml Cargo.toml
cargo build --release

Tools

| Name | Not Started | Started | Done | | :------: | :---------: | :-----: | :--: | | basename | | | X | | cat | | X | | | chgrp | X | | | | chmod | X | | | | chown | X | | | | chroot | | | X | | clear | | | X | | comm | X | | | | cp | X | | | | csplit | | X | | | cut | | | X | | date | | X | | | dd | X | | | | df | X | | | | diff | X | | | | dirname | | | X | | du | | | X | | echo | | | X | | env | | | X | | expand | | | X | | expr | X | | | | false | | | X | | groups | | | X | | hash | X | | | | head | | | X | | id | | | X | | install | X | | | | join | X | | | | link | | | X | | ln | X | | | | logname | | | X | | ls | | | X | | mkdir | | | X | | mktemp | | | X | | mkfifo | X | | | | mv | | | X | | nice | | | X | | nl | | | X | | nohup | | | X | | od | X | | | | paste | X | | | | patch | X | | | | printf | | | X | | pwd | | | X | | rm | | | x | | rmdir | | | X | | sed | X | | | | seq | | X | | | sort | | X | | | sleep | | | X | | split | X | | | | stat | X | | | | stty | X | | | | tail | | X | | | tee | | X | | | test | X | | | | time | X | | | | touch | | X | | | tr | X | | | | true | | | X | | tsort | X | | | | tty | | | X | | uname | | | X | | unexpand | | | X | | uniq | | X | | | unlink | | | X | | uptime | | | X | | users | | | X | | wc | | | X | | who | | | X | | whoami | | | X | | yes | | | X |

Licensing

This software is licensed under the Mozilla Public License, v. 2.0 (MPL). If a copy of the MPL was not distributed with this file, you can obtain one at http://mozilla.org/MPL/2.0/.

Contributing

We appreciate contributions, please check CONTRIBUTING.md for guidelines on how to contribute to the project with issue reports, git commits messages, etc.

The document also gives orientation on where to start if you wanna implement a pending tool from scratch.

Contributors

Without them, this project would not be what it is today.

🔗 More in this category

© 2026 GitRepoTrend · GrayJack/coreutils · Updated daily from GitHub