[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5386":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},5386,"coreutils","uutils\u002Fcoreutils","uutils","Cross-platform Rust rewrite of the GNU coreutils","https:\u002F\u002Fuutils.github.io\u002F",null,"Rust",23578,1912,186,686,0,8,129,354,55,44.85,"MIT License",false,"main",true,[27,28,5,29,30,31],"busybox","command-line-tool","cross-platform","gnu-coreutils","rust","2026-06-12 02:01:09","\u003C!-- markdownlint-disable MD033 MD041 MD002 -->\n\u003C!-- markdownlint-disable commands-show-output no-duplicate-heading -->\n\u003C!-- spell-checker:ignore markdownlint ; (options) DESTDIR UTILNAME manpages reimplementation oranda libclang -->\n\u003Cdiv class=\"oranda-hide\">\n\u003Cdiv align=\"center\">\n\n![uutils logo](docs\u002Fsrc\u002Flogo.svg)\n\n# uutils coreutils\n\n[![Crates.io](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fcoreutils.svg)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fcoreutils)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdiscord-join-7289DA.svg?logo=discord&longCache=true&style=flat)](https:\u002F\u002Fdiscord.gg\u002FwQVJbvJ)\n[![License](http:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](https:\u002F\u002Fgithub.com\u002Fuutils\u002Fcoreutils\u002Fblob\u002Fmain\u002FLICENSE)\n[![dependency status](https:\u002F\u002Fdeps.rs\u002Frepo\u002Fgithub\u002Fuutils\u002Fcoreutils\u002Fstatus.svg)](https:\u002F\u002Fdeps.rs\u002Frepo\u002Fgithub\u002Fuutils\u002Fcoreutils)\n\n[![CodeCov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fuutils\u002Fcoreutils\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fuutils\u002Fcoreutils)\n[![Weblate](https:\u002F\u002Fhosted.weblate.org\u002Fwidget\u002Frust-coreutils\u002Fsvg-badge.svg)](https:\u002F\u002Fhosted.weblate.org\u002Fprojects\u002Frust-coreutils\u002F)\n\n\u003C\u002Fdiv>\n\n---\n\n\u003C\u002Fdiv>\n\nuutils coreutils is a cross-platform reimplementation of the GNU coreutils in\n[Rust](http:\u002F\u002Fwww.rust-lang.org). While all programs have been implemented, some\noptions might be missing or different behavior might be experienced.\n\n\u003Cdiv class=\"oranda-hide\">\n\nWe provide prebuilt binaries, manpages, and shell completions from main branch at https:\u002F\u002Fgithub.com\u002Fuutils\u002Fcoreutils\u002Freleases\u002Ftag\u002Flatest-commit .\nThe latest stable tag https:\u002F\u002Fgithub.com\u002Fuutils\u002Fcoreutils\u002Freleases\u002Flatest also exists for reproducible products and packagers.\nBug reporters should use binary from latest commit.\n\n\u003C\u002Fdiv>\n\n\u003C!-- markdownlint-disable-next-line MD026 -->\n\n## Goals\n\nuutils coreutils aims to be a drop-in replacement for the GNU utils. Differences with GNU\nare treated as bugs.\n\nOur key objectives include:\n- Matching GNU's output (stdout and error code) exactly\n- Better error messages\n- Providing comprehensive internationalization support (UTF-8)\n- Improved performances\n- [Extensions](docs\u002Fsrc\u002Fextensions.md) when relevant (example: --progress)\n\nuutils aims to work on as many platforms as possible, to be able to use the same\nutils on Linux, macOS, Windows and other platforms. This ensures, for example,\nthat scripts can be easily transferred between platforms.\n\n\u003Cdiv class=\"oranda-hide\">\n\n## Documentation\nuutils has both user and developer documentation available:\n\n- [User Manual](https:\u002F\u002Fuutils.github.io\u002Fcoreutils\u002Fdocs\u002F)\n- [Developer Documentation](https:\u002F\u002Fdocs.rs\u002Fcrate\u002Fcoreutils\u002F)\n\nBoth can also be generated locally, the instructions for that can be found in\nthe [coreutils docs](https:\u002F\u002Fgithub.com\u002Fuutils\u002Fuutils.github.io) repository.\n\nUse [weblate\u002Frust-coreutils](https:\u002F\u002Fhosted.weblate.org\u002Fprojects\u002Frust-coreutils\u002F) to translate the Rust coreutils into your language.\n\n\u003C!-- ANCHOR: build (this mark is needed for mdbook) -->\n\n## Requirements\n\n- Rust (`cargo`, `rustc`)\n- GNU Make (optional)\n\n### Rust Version\n\nuutils follows Rust's release channels and is tested against stable, beta and\nnightly.\n\n## Building\n\nThere are currently two methods to build the uutils binaries: either Cargo or\nGNU Make.\n\n> Building the full package, including all documentation, requires both Cargo\n> and GNU Make on a Unix platform.\n\nFor either method, we first need to fetch the repository:\n\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Fuutils\u002Fcoreutils\ncd coreutils\n```\n\n### Cargo\n\nBuilding uutils using Cargo is easy because the process is the same as for every\nother Rust program:\n\n```shell\ncargo build --release\n```\n\nReplace `--release` with `--profile=release-small` to optimize binary size.\n\nThis command builds the most portable common core set of uutils into a multicall\n(BusyBox-type) binary, named 'coreutils', on most Rust-supported platforms.\n\nAdditional platform-specific uutils are often available. Building these expanded\nsets of uutils for a platform (on that platform) is as simple as specifying it\nas a feature:\n\n```shell\ncargo build --release --features windows\n# or ...\ncargo build --release --features unix\n```\n\nTo build SELinux-specific features, including `chcon` and `runcon`, ensure that `libselinux`\nand `libclang` are installed on your system. Then, run the following command:\n```\ncargo build --release --features unix,feat_selinux\n```\n\nIf you don't want to build every utility available on your platform into the\nfinal binary, you can also specify which ones you want to build manually. For\nexample:\n\n```shell\ncargo build --features \"base32 cat echo rm\" --no-default-features\n```\n\nIf you want to build the utilities as individual binaries, that is also possible:\n\n```shell\ncargo build --release --bins --workspace --exclude coreutils --exclude uu_runcon --exclude uu_chcon\n```\nEach utility is contained in its own package within the main repository, named \"uu_UTILNAME\". To\nbuild selected individual utilities, use the `--package` [aka `-p`] option. For example:\n\n```shell\ncargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm\n```\n\n### GNU Make\n\nBuilding using `make` is a simple process as well.\n\nTo simply build all available utilities (with debug profile):\n\n```shell\nmake\n```\n\nIn release mode:\n\n```shell\nmake PROFILE=release\n```\n\nTo build all but a few of the available utilities:\n\n```shell\nmake SKIP_UTILS='UTILITY_1 UTILITY_2'\n```\n\nTo build only a few of the available utilities:\n\n```shell\nmake UTILS='UTILITY_1 UTILITY_2'\n```\n\n## Installation\n\n### Install with Cargo\n\nLikewise, installing can simply be done using:\n\n```shell\ncargo install --path . --locked\n```\n\nThis command will install uutils into Cargo's _bin_ folder (_e.g._\n`$HOME\u002F.cargo\u002Fbin`).\n\nThis does not install files necessary for shell completion or manpages. For\nmanpages or shell completion to work, use `GNU Make` or see\n`Manually install shell completions`\u002F`Manually install manpages`.\n\n### Install with GNU Make\n\nTo install all available utilities (PROFILE=release by default):\n\n```shell\nmake install\n```\n\nTo install using `sudo` switch `-E` must be used:\n\n```shell\nsudo -E make install\n```\n\nTo install all but a few of the available utilities:\n\n```shell\nmake SKIP_UTILS='UTILITY_1 UTILITY_2' install\n```\n\nTo install only a few of the available utilities:\n\n```shell\nmake UTILS='UTILITY_1 UTILITY_2' install\n```\n\nTo install every program with a prefix (e.g. uu-echo uu-cat):\n\n```shell\nmake PROG_PREFIX=uu- install\n```\n\nTo install the multicall binary:\n\n```shell\nmake MULTICALL=y install\n```\n\nSet install parent directory (default value is \u002Fusr\u002Flocal):\n\n```shell\n# DESTDIR is also supported\nmake PREFIX=\u002Fmy\u002Fpath install\n```\n\nInstalling with `make` installs shell completions for all installed utilities\nfor `bash`, `fish` and `zsh`. Completions for `elvish` and `powershell` can also\nbe generated; See `Manually install shell completions`.\n\nTo skip installation of completions and manpages:\n\n```shell\nmake COMPLETIONS=n MANPAGES=n install\n```\n\n### Manually install shell completions\n\nThe `uudoc` binary generates completions for the `bash`, `elvish`,\n`fish`, `powershell` and `zsh` shells to stdout.\n\nInstall `uudoc` by\n```shell\ncargo install --bin uudoc --features uudoc --path .\n```\n\nThen use the installed binary:\n```shell\nuudoc completion \u003Cutility> \u003Cshell>\n```\n\nSo, to install completions for `ls` on `bash` to\n`\u002Fusr\u002Flocal\u002Fshare\u002Fbash-completion\u002Fcompletions\u002Fls`, run:\n\n```shell\nuudoc completion ls bash > \u002Fusr\u002Flocal\u002Fshare\u002Fbash-completion\u002Fcompletions\u002Fls.bash\n```\n\nCompletion for prefixed `cp` with `uu-` on `zsh` is generated by\n```shell\nenv PROG_PREFIX=uu- uudoc completion cp zsh\n```\n\n### Manually install manpages\n\nTo generate manpages, the syntax is:\n\n```bash\nuudoc manpage \u003Cutility>\n```\n\nSo, to install the manpage for `ls` to `\u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman1\u002Fls.1` run:\n\n```bash\nuudoc manpage ls > \u002Fusr\u002Flocal\u002Fshare\u002Fman\u002Fman1\u002Fls.1\n```\n\n## Un-installation\n\nUn-installation differs depending on how you have installed uutils. If you used\nCargo to install, use Cargo to uninstall. If you used GNU Make to install, use\nMake to uninstall.\n\n### Uninstall with Cargo\n\nTo uninstall uutils:\n\n```shell\ncargo uninstall coreutils\n```\n\n### Uninstall with GNU Make\n\nTo uninstall all utilities:\n\n```shell\nmake uninstall\n```\n\nTo uninstall every program with a set prefix:\n\n```shell\nmake PROG_PREFIX=uu- uninstall\n```\n\nTo uninstall the multicall binary:\n\n```shell\nmake MULTICALL=y uninstall\n```\n\nTo uninstall from a custom parent directory:\n\n```shell\n# DESTDIR is also supported\nmake PREFIX=\u002Fmy\u002Fpath uninstall\n```\n\n\u003C!-- ANCHOR_END: build (this mark is needed for mdbook) -->\n\n## GNU test suite compatibility\n\nBelow is the evolution of how many GNU tests uutils passes. A more detailed\nbreakdown of the GNU test results of the main branch can be found\n[in the user manual](https:\u002F\u002Fuutils.github.io\u002Fcoreutils\u002Fdocs\u002Ftest_coverage.html).\n\nSee \u003Chttps:\u002F\u002Fgithub.com\u002Forgs\u002Fuutils\u002Fprojects\u002F1> for the main meta bugs\n(many are missing).\n\n![Evolution over time](https:\u002F\u002Fgithub.com\u002Fuutils\u002Fcoreutils-tracking\u002Fblob\u002Fmain\u002Fgnu-results.svg?raw=true)\n\n\u003C\u002Fdiv> \u003C!-- close oranda-hide div -->\n\n## Contributing\n\nTo contribute to uutils, please see [CONTRIBUTING](CONTRIBUTING.md).\n\n## License\n\nuutils is licensed under the MIT License - see the `LICENSE` file for details\n\nGNU Coreutils is licensed under the GPL 3.0 or later.\n","uutils\u002Fcoreutils 是一个用 Rust 语言重写的跨平台 GNU 核心工具集。该项目旨在提供与 GNU 工具一致的输出和错误代码，同时改进了错误信息、国际化支持（UTF-8）以及性能，并在适当情况下增加了扩展功能（如 --progress）。它适合于需要在不同操作系统（包括 Linux、macOS 和 Windows）上使用相同命令行工具的场景，确保脚本可以在多个平台上轻松移植。项目采用 MIT 许可证，拥有活跃的社区支持和详尽的文档资源。",2,"2026-06-11 03:03:00","top_language"]