{"id":13961500,"url":"https://github.com/GrayJack/coreutils","last_synced_at":"2025-07-21T06:31:01.152Z","repository":{"id":44970662,"uuid":"180940082","full_name":"GrayJack/coreutils","owner":"GrayJack","description":"Core utils re-implementation for UNIX/UNIX-like systems written in Rust","archived":false,"fork":false,"pushed_at":"2024-07-02T03:18:27.000Z","size":2728,"stargazers_count":106,"open_issues_count":44,"forks_count":39,"subscribers_count":3,"default_branch":"dev","last_synced_at":"2025-06-28T06:04:00.491Z","etag":null,"topics":["coreutils","hacktoberfest","rust","rust-lang","unix"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GrayJack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"GrayJack"}},"created_at":"2019-04-12T05:57:31.000Z","updated_at":"2025-06-24T00:12:51.000Z","dependencies_parsed_at":"2022-08-27T21:23:54.452Z","dependency_job_id":"ae0877c5-fa35-4a1f-9247-cf50ac406105","html_url":"https://github.com/GrayJack/coreutils","commit_stats":{"total_commits":1143,"total_committers":30,"mean_commits":38.1,"dds":"0.38145231846019245","last_synced_commit":"e5cb3a46bf9a7c8b6f4cea0d12ddbda255714f4d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GrayJack/coreutils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fcoreutils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fcoreutils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fcoreutils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fcoreutils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GrayJack","download_url":"https://codeload.github.com/GrayJack/coreutils/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GrayJack%2Fcoreutils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266253499,"owners_count":23900051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coreutils","hacktoberfest","rust","rust-lang","unix"],"created_at":"2024-08-08T17:01:11.956Z","updated_at":"2025-07-21T06:31:00.680Z","avatar_url":"https://github.com/GrayJack.png","language":"Rust","funding_links":["https://github.com/sponsors/GrayJack"],"categories":["Rust"],"sub_categories":[],"readme":"# Coreutils in Rust\n\n[![Hits-of-Code](https://hitsofcode.com/github/GrayJack/coreutils)](https://hitsofcode.com/view/github/GrayJack/coreutils)\n[![Build Status](https://api.travis-ci.com/GrayJack/coreutils.svg?branch=master)](https://travis-ci.com/GrayJack/coreutils)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FGrayJack%2Fcoreutils.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FGrayJack%2Fcoreutils?ref=badge_shield)\n\n\u003c!-- [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FGrayJack%2Fcoreutils.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FGrayJack%2Fcoreutils?ref=badge_large) --\u003e\n\nAn in-progress safe implementation of `coreutils` aiming for a minimal and yet\ncomplete set of utilities. This project aims at the _POSIX_ specification basic\nrequirements, plus common and useful features present in other implementations\nof the utility.\n\nThis project has no intent to be 100% compatible with _GNU's coreutils_, like\n[Uutils' coreutils](https://github.com/uutils/coreutils), but if it happens to\nbe, it's okay too.\n\n## Minimum Rust Version Policy\n\nThis project's minimum supported `rustc` version (_MSRV_) is _1.58.0_.\n\nThis will not be conservative until we get to a _1.0_ version. So it can be\nchanged at any point in time.\n\n\u003c!-- In general, this project will try to be conservative concerning the minimum supported version of Rust, but in case of safety reasons it may bump at any time [e.g. `MaybeUninit` stabilization on 1.36.0 fixing huge problems with `std::mem::uninitialized()`] or improvements that affect positively conditional compilation (we use it a lot). --\u003e\n\n## Compilation tests guarantees\n\nThe compilation is tested for Rust Tier 1 and Tier 2 _x86_64 Unix/Unix-like_\nplatforms (except _Redox_), with _CI_.\n\nAll platforms are tested on _MSRV_ and _stable_ _Rust_, and Tier 1 platforms are\nalso tested on _beta_ and _nightly_ _Rust_ (Tier 2 and 3 only guarantee _stable_\nfull capacity).\n\nAlso, note that Tier 3 Rust tests can fail before it hits the compilation check,\nsince my only option is to use a _Linux_ system, add the target, and do\n`cargo check --target`, and they often are not available as a target for any\nTier 1 platforms. If you use one of these platforms and have the right MSRV\nrequirements and it build successfully, let me know, if it fails, open an issue\nwith the compilation error.\n\n|   Platform   |  Tier  |                                                                CI Status                                                                 |                    Manual Status                     |\n| :----------: | :----: | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |\n|    Linux     | Tier 1 |        [![Linux](https://github.com/GrayJack/coreutils/workflows/Linux/badge.svg)](https://github.com/GrayJack/coreutils/actions)        | Passing (Manjaro Linux 5.3.2 - 2019-10-28) (8695863) |\n|    MacOS     | Tier 1 |        [![MacOS](https://github.com/GrayJack/coreutils/workflows/MacOS/badge.svg)](https://github.com/GrayJack/coreutils/actions)        |                          -                           |\n|   FreeBSD    | Tier 2 |      [![FreeBSD](https://github.com/GrayJack/coreutils/workflows/FreeBSD/badge.svg)](https://github.com/GrayJack/coreutils/actions)      |    Passing (FreeBSD 12.0 - 2019-10-28) (8695863)     |\n|    NetBSD    | Tier 2 |       [![NetBSD](https://github.com/GrayJack/coreutils/workflows/NetBSD/badge.svg)](https://github.com/GrayJack/coreutils/actions)       |          - (system without minimal version)          |\n|   Illumos    | Tier 2 |      [![Illumos](https://github.com/GrayJack/coreutils/workflows/Illumos/badge.svg)](https://github.com/GrayJack/coreutils/actions)      |          - (system without minimal version)          |\n|   Solaris    | Tier 2 |      [![Solaris](https://github.com/GrayJack/coreutils/workflows/Solaris/badge.svg)](https://github.com/GrayJack/coreutils/actions)      |          - (system without minimal version)          |\n|   Fuchsia    | Tier 2 |      [![Fuchsia](https://github.com/GrayJack/coreutils/workflows/Fuchsia/badge.svg)](https://github.com/GrayJack/coreutils/actions)      |                          -                           |\n|   OpenBSD    | Tier 3 |      [![OpenBSD](https://github.com/GrayJack/coreutils/workflows/OpenBSD/badge.svg)](https://github.com/GrayJack/coreutils/actions)      | Passing (OpenBSD 6.6 Current - 2019-10-28) (8695863) |\n| DragonflyBSD | Tier 3 | [![DragonflyBSD](https://github.com/GrayJack/coreutils/workflows/DragonflyBSD/badge.svg)](https://github.com/GrayJack/coreutils/actions) | Passing (DragonflyBSD 5.6.2 - 2019-10-28) (8695863)  |\n|    Haiku     | Tier 3 |        [![Haiku](https://github.com/GrayJack/coreutils/workflows/Haiku/badge.svg)](https://github.com/GrayJack/coreutils/actions)        |                          -                           |\n\n## Compilation\n\nSince not all targets provide full _Unix_ API coverage (they aren't _Unix_ or\nlack _libc_ crate support), some can provide a `Cargo.toml` that have all\nutilities that should work on the target.\n\n### Compilation example for\n\n```sh\ncp \u003cPLATFORM\u003e.toml Cargo.toml\ncargo build --release\n```\n\n\u003c!-- ### Install example\n```sh\ncp \u003cPlatform\u003e.toml Cargo.toml\ncargo install --path .\n``` --\u003e\n\n## Tools\n\n|   Name   | Not Started | Started | Done |\n| :------: | :---------: | :-----: | :--: |\n| basename |             |         |  X   |\n|   cat    |             |    X    |      |\n|  chgrp   |      X      |         |      |\n|  chmod   |      X      |         |      |\n|  chown   |      X      |         |      |\n|  chroot  |             |         |  X   |\n|  clear   |             |         |  X   |\n|   comm   |      X      |         |      |\n|    cp    |      X      |         |      |\n|  csplit  |             |    X    |      |\n|   cut    |             |         |  X   |\n|   date   |             |    X    |      |\n|    dd    |      X      |         |      |\n|    df    |      X      |         |      |\n|   diff   |      X      |         |      |\n| dirname  |             |         |  X   |\n|    du    |             |         |  X   |\n|   echo   |             |         |  X   |\n|   env    |             |         |  X   |\n|  expand  |             |         |  X   |\n|   expr   |      X      |         |      |\n|  false   |             |         |  X   |\n|  groups  |             |         |  X   |\n|   hash   |      X      |         |      |\n|   head   |             |         |  X   |\n|    id    |             |         |  X   |\n| install  |      X      |         |      |\n|   join   |      X      |         |      |\n|   link   |             |         |  X   |\n|    ln    |      X      |         |      |\n| logname  |             |         |  X   |\n|    ls    |             |         |  X   |\n|  mkdir   |             |         |  X   |\n|  mktemp  |             |         |  X   |\n|  mkfifo  |      X      |         |      |\n|    mv    |             |         |  X   |\n|   nice   |             |         |  X   |\n|    nl    |             |         |  X   |\n|  nohup   |             |         |  X   |\n|    od    |      X      |         |      |\n|  paste   |      X      |         |      |\n|  patch   |      X      |         |      |\n|  printf  |             |         |  X   |\n|   pwd    |             |         |  X   |\n|    rm    |             |         |  x   |\n|  rmdir   |             |         |  X   |\n|   sed    |      X      |         |      |\n|   seq    |             |    X    |      |\n|   sort   |             |    X    |      |\n|  sleep   |             |         |  X   |\n|  split   |      X      |         |      |\n|   stat   |      X      |         |      |\n|   stty   |      X      |         |      |\n|   tail   |             |    X    |      |\n|   tee    |             |    X    |      |\n|   test   |      X      |         |      |\n|   time   |      X      |         |      |\n|  touch   |             |    X    |      |\n|    tr    |      X      |         |      |\n|   true   |             |         |  X   |\n|  tsort   |      X      |         |      |\n|   tty    |             |         |  X   |\n|  uname   |             |         |  X   |\n| unexpand |             |         |  X   |\n|   uniq   |             |    X    |      |\n|  unlink  |             |         |  X   |\n|  uptime  |             |         |  X   |\n|  users   |             |         |  X   |\n|    wc    |             |         |  X   |\n|   who    |             |         |  X   |\n|  whoami  |             |         |  X   |\n|   yes    |             |         |  X   |\n\n## Licensing\n\nThis software is licensed under the [Mozilla Public License, v. 2.0](./LICENSE)\n(MPL). If a copy of the MPL was not distributed with this file, you can obtain\none at http://mozilla.org/MPL/2.0/.\n\n## Contributing\n\nWe appreciate contributions, please check [CONTRIBUTING.md](./CONTRIBUTING.md)\nfor guidelines on how to contribute to the project with issue reports, git\ncommits messages, etc.\n\nThe document also gives orientation on where to start if you wanna implement a\npending tool from scratch.\n\n## Contributors\n\nWithout them, this project would not be what it is today.\n\n- Ashwin-A-K\n- [@bojan88](https://github.com/bojan88) - _Bojan Đurđević_\n- [@Celeo](https://github.com/Celeo) - _Celeo_\n- [@FedericoPonzi](https://github.com/FedericoPonzi) - _Federico Ponzi_\n- [@Larisho](https://github.com/Larisho) - _Gab David_\n- [@silverweed](https://github.com/silverweed) - _Giacomo Parolini_\n- [@marcospb19](https://github.com/marcospb19) - _João M. Bezerra_\n- [@kegesch](https://github.com/kegesch) - _Jonas Geschke_\n- Ladysamantha\n- [@mkindahl](https://github.com/mkindahl) - _Mats Kindah_\n- [@MichelKansou](https://github.com/MichelKansou) - _Michel Kansou_\n- [@twe4ked](https://github.com/twe4ked) - _Odin Dutton_\n- [@rodrigocam](https://github.com/rodrigocam) - _Rodrigo Oliveira Campos_\n- [@Albibek](https://github.com/Albibek) - _Sergey Noskov_\n- [@palfrey](https://github.com/palfrey) - _Tom Parker-Shemilt_\n- [@tobbez](https://github.com/tobbez) - _Torbjörn Lönnemark_\n- [@envp](https://github.com/envp) - _Vaibhav Yenamandra_\n- [@muskuloes](https://github.com/muskuloes) - _Victor Tuekam_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGrayJack%2Fcoreutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGrayJack%2Fcoreutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGrayJack%2Fcoreutils/lists"}