2021-04-08 01:20:48 +00:00
# uutils coreutils
2013-08-02 17:24:20 +00:00
2021-03-15 09:03:34 +00:00
[![Crates.io ](https://img.shields.io/crates/v/coreutils.svg )](https://crates.io/crates/coreutils)
2019-04-28 02:14:22 +00:00
[![Discord ](https://img.shields.io/badge/discord-join-7289DA.svg?logo=discord&longCache=true&style=flat )](https://discord.gg/wQVJbvJ)
2016-01-10 21:42:32 +00:00
[![License ](http://img.shields.io/badge/license-MIT-blue.svg )](https://github.com/uutils/coreutils/blob/master/LICENSE)
2017-07-27 02:43:21 +00:00
[![LOC ](https://tokei.rs/b1/github/uutils/coreutils?category=code )](https://github.com/Aaronepower/tokei)
2018-05-02 16:50:42 +00:00
[![dependency status ](https://deps.rs/repo/github/uutils/coreutils/status.svg )](https://deps.rs/repo/github/uutils/coreutils)
2019-04-28 02:14:22 +00:00
[![Build Status (FreeBSD) ](https://api.cirrus-ci.com/github/uutils/coreutils.svg )](https://cirrus-ci.com/github/uutils/coreutils/master)
2021-04-08 01:36:51 +00:00
[![CodeCov ](https://codecov.io/gh/uutils/coreutils/branch/master/graph/badge.svg )](https://codecov.io/gh/uutils/coreutils)
2019-04-28 02:14:22 +00:00
-----------------------------------------------
2015-07-23 00:46:58 +00:00
2021-04-08 01:32:58 +00:00
<!-- markdownlint - disable commands - show - output no - duplicate - heading -->
2021-04-08 01:59:40 +00:00
<!-- spell - checker:ignore markdownlint ; (jargon) multicall ; (misc) aarch riscv uutil uutils ; (names/acronyms) BusyBox BusyBox's BusyTest MSVC NixOS PowerPC WASI WASM ; (options) DESTDIR RUNTEST UTILNAME -->
2021-04-08 01:32:58 +00:00
2013-08-02 17:24:20 +00:00
uutils is an attempt at writing universal (as in cross-platform) CLI
2020-06-28 12:48:43 +00:00
utilities in [Rust ](http://www.rust-lang.org ). This repository is intended to
aggregate GNU coreutils rewrites.
2013-08-02 17:24:20 +00:00
2021-04-08 01:20:48 +00:00
## Why?
2013-08-02 17:24:20 +00:00
2020-06-28 12:48:43 +00:00
Many GNU, Linux and other utilities are useful, and obviously
2013-08-02 17:24:20 +00:00
[some ](http://gnuwin32.sourceforge.net ) [effort ](http://unxutils.sourceforge.net )
2014-02-19 01:52:47 +00:00
has been spent in the past to port them to Windows. However, those projects
2021-04-08 01:17:52 +00:00
are written in platform-specific C, a language considered unsafe compared to Rust, and
2021-03-25 07:07:27 +00:00
have other issues.
2013-08-02 17:24:20 +00:00
2020-06-28 12:48:43 +00:00
Rust provides a good, platform-agnostic way of writing systems utilities that are easy
2013-08-02 17:24:20 +00:00
to compile anywhere, and this is as good a way as any to try and learn it.
2021-04-08 01:20:48 +00:00
## Requirements
2017-12-04 14:22:41 +00:00
2017-12-07 06:51:02 +00:00
* Rust (`cargo`, `rustc` )
2017-12-30 06:17:54 +00:00
* GNU Make (required to build documentation)
2017-12-07 06:51:02 +00:00
* [Sphinx ](http://www.sphinx-doc.org/ ) (for documentation)
* gzip (for installing documentation)
2021-04-08 01:20:48 +00:00
### Rust Version
2017-12-07 06:51:02 +00:00
2017-12-08 20:13:50 +00:00
uutils follows Rust's release channels and is tested against stable, beta and nightly.
2021-03-25 22:28:47 +00:00
The current oldest supported version of the Rust compiler is `1.40.0` .
2017-12-04 14:22:41 +00:00
2017-12-11 03:14:56 +00:00
On both Windows and Redox, only the nightly version is tested currently.
2017-12-04 14:22:41 +00:00
2021-04-08 01:20:48 +00:00
## Build Instructions
2013-12-27 21:32:56 +00:00
2021-04-08 01:59:40 +00:00
There are currently two methods to build the uutils binaries: either Cargo
or GNU Make.
2017-12-07 06:51:02 +00:00
2021-04-08 01:59:40 +00:00
> Building the full package, including all documentation, requires both Cargo
> and Gnu Make on a Unix platform.
For either method, we first need to fetch the repository:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ git clone https://github.com/uutils/coreutils
$ cd coreutils
```
2021-04-08 01:20:48 +00:00
### Cargo
2017-12-07 06:51:02 +00:00
Building uutils using Cargo is easy because the process is the same as for
every other Rust program:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ cargo build --release
```
2021-04-08 01:59:40 +00:00
This command builds the most portable common core set of uutils into a multicall
(BusyBox-type) binary, named 'coreutils', on most Rust-supported platforms.
Additional platform-specific uutils are often available. Building these
expanded sets of uutils for a platform (on that platform) is as simple as
specifying it as a feature:
2021-04-08 01:22:33 +00:00
2018-05-02 16:50:42 +00:00
```bash
2021-04-08 01:59:40 +00:00
$ cargo build --release --features macos
# or ...
$ cargo build --release --features windows
# or ...
$ cargo build --release --features unix
2018-05-02 16:50:42 +00:00
```
2017-12-07 06:51:02 +00:00
If you don't want to build every utility available on your platform into the
2021-04-08 01:59:40 +00:00
final binary, you can also specify which ones you want to build manually.
For example:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ cargo build --features "base32 cat echo rm" --no-default-features
2013-12-27 21:32:56 +00:00
```
2017-12-07 06:51:02 +00:00
2021-04-08 01:59:40 +00:00
If you don't want to build the multicall binary and would prefer to build
the utilities as individual binaries, that is also possible. Each utility
2021-04-18 00:14:05 +00:00
is contained in its own package within the main repository, named
2021-04-08 01:59:40 +00:00
"uu_UTILNAME". To build individual utilities, use cargo to build just the
specific packages (using the `--package` [aka `-p` ] option). For example:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
2020-06-09 19:29:29 +00:00
$ cargo build -p uu_base32 -p uu_cat -p uu_echo -p uu_rm
2013-12-27 21:32:56 +00:00
```
2021-04-08 01:20:48 +00:00
### GNU Make
2017-12-07 06:51:02 +00:00
Building using `make` is a simple process as well.
To simply build all available utilities:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ make
```
2014-10-26 04:54:37 +00:00
2013-12-27 21:32:56 +00:00
To build all but a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
2017-12-07 06:51:02 +00:00
$ make SKIP_UTILS='UTILITY_1 UTILITY_2'
2013-12-27 21:32:56 +00:00
```
To build only a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
2017-12-07 06:51:02 +00:00
$ make UTILS='UTILITY_1 UTILITY_2'
2014-07-20 08:27:47 +00:00
```
2021-04-08 01:20:48 +00:00
## Installation Instructions
2014-06-13 02:14:56 +00:00
2021-04-08 01:20:48 +00:00
### Cargo
2017-12-07 06:51:02 +00:00
2017-12-30 06:17:54 +00:00
Likewise, installing can simply be done using:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
2021-03-09 20:51:25 +00:00
$ cargo install --path .
2014-06-13 02:14:56 +00:00
```
2017-12-30 06:17:54 +00:00
This command will install uutils into Cargo's *bin* folder (*e.g.* `$HOME/.cargo/bin` ).
2021-04-08 01:20:48 +00:00
### GNU Make
2017-12-30 06:17:54 +00:00
To install all available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make install
2014-06-13 02:14:56 +00:00
```
2019-10-12 20:09:33 +00:00
To install using `sudo` switch `-E` must be used:
2021-04-08 01:22:33 +00:00
2019-10-12 20:09:33 +00:00
```bash
$ sudo -E make install
```
2014-06-13 02:14:56 +00:00
To install all but a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' install
2014-06-13 02:14:56 +00:00
```
To install only a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make UTILS='UTILITY_1 UTILITY_2' install
2014-06-13 02:14:56 +00:00
```
2015-12-24 04:14:55 +00:00
To install every program with a prefix (e.g. uu-echo uu-cat):
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make PROG_PREFIX=PREFIX_GOES_HERE install
2014-06-13 02:14:56 +00:00
```
2014-07-01 08:07:16 +00:00
To install the multicall binary:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make MULTICALL=y install
2015-12-24 04:14:55 +00:00
```
Set install parent directory (default value is /usr/local):
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
2017-12-07 06:51:02 +00:00
# DESTDIR is also supported
2017-12-30 06:17:54 +00:00
$ make PREFIX=/my/path install
2014-07-01 08:07:16 +00:00
```
2021-04-08 01:20:48 +00:00
### NixOS
2018-03-01 19:36:45 +00:00
The [standard package set ](https://nixos.org/nixpkgs/manual/ ) of [NixOS ](https://nixos.org/ )
provides this package out of the box since 18.03:
2021-04-08 01:29:43 +00:00
```shell
$ nix-env -iA nixos.uutils-coreutils
2018-03-01 19:36:45 +00:00
```
2021-04-08 01:36:51 +00:00
## Un-installation Instructions
2014-06-13 02:14:56 +00:00
2021-04-08 01:36:51 +00:00
Un-installation differs depending on how you have installed uutils. If you used
2017-12-30 06:17:54 +00:00
Cargo to install, use Cargo to uninstall. If you used GNU Make to install, use
Make to uninstall.
2017-12-07 06:51:02 +00:00
2021-04-08 01:20:48 +00:00
### Cargo
2017-12-30 06:17:54 +00:00
To uninstall uutils:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ cargo uninstall uutils
2014-06-13 02:49:00 +00:00
```
2017-12-30 06:17:54 +00:00
2021-04-08 01:20:48 +00:00
### GNU Make
2017-12-30 06:17:54 +00:00
To uninstall all utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make uninstall
2014-06-13 02:49:00 +00:00
```
2014-06-25 16:47:34 +00:00
To uninstall every program with a set prefix:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make PROG_PREFIX=PREFIX_GOES_HERE uninstall
2014-06-13 02:49:00 +00:00
```
2014-06-13 02:14:56 +00:00
2014-07-01 08:07:16 +00:00
To uninstall the multicall binary:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make MULTICALL=y uninstall
2015-12-24 04:14:55 +00:00
```
To uninstall from a custom parent directory:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
2017-12-07 06:51:02 +00:00
# DESTDIR is also supported
2017-12-30 06:17:54 +00:00
$ make PREFIX=/my/path uninstall
2014-07-01 08:07:16 +00:00
```
2021-04-08 01:20:48 +00:00
## Test Instructions
2013-12-27 21:32:56 +00:00
2017-12-07 06:51:02 +00:00
Testing can be done using either Cargo or `make` .
2021-04-08 01:20:48 +00:00
### Cargo
2017-12-07 06:51:02 +00:00
Just like with building, we follow the standard procedure for testing using
Cargo:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ cargo test
```
2020-05-01 11:39:09 +00:00
By default, `cargo test` only runs the common programs. To run also platform
specific tests, run:
2021-04-08 01:22:33 +00:00
2020-05-01 11:39:09 +00:00
```bash
$ cargo test --features unix
```
2017-12-07 06:51:02 +00:00
If you would prefer to test a select few utilities:
2021-04-08 01:22:33 +00:00
2017-12-07 06:51:02 +00:00
```bash
$ cargo test --features "chmod mv tail" --no-default-features
```
2021-04-05 15:16:00 +00:00
If you also want to test the core utilities:
2021-04-08 01:22:33 +00:00
2021-04-05 15:16:00 +00:00
```bash
$ cargo test -p uucore -p coreutils
```
2020-07-12 13:34:42 +00:00
To debug:
2021-04-08 01:22:33 +00:00
2020-07-12 13:34:42 +00:00
```bash
$ gdb --args target/debug/coreutils ls
(gdb) b ls.rs:79
(gdb) run
```
2021-04-08 01:20:48 +00:00
### GNU Make
2017-12-07 06:51:02 +00:00
2013-12-27 21:32:56 +00:00
To simply test all available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make test
2013-12-27 21:32:56 +00:00
```
To test all but a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make SKIP_UTILS='UTILITY_1 UTILITY_2' test
2013-12-27 21:32:56 +00:00
```
To test only a few of the available utilities:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make UTILS='UTILITY_1 UTILITY_2' test
2013-12-27 21:32:56 +00:00
```
2016-02-15 23:08:37 +00:00
To include tests for unimplemented behavior:
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make UTILS='UTILITY_1 UTILITY_2' SPEC=y test
2016-02-15 23:08:37 +00:00
```
2021-04-08 01:20:48 +00:00
## Run Busybox Tests
2015-12-21 00:48:52 +00:00
2017-12-07 06:51:02 +00:00
This testing functionality is only available on *nix operating systems and
requires `make` .
2015-12-21 00:48:52 +00:00
To run busybox's tests for all utilities for which busybox has tests
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make busytest
2015-12-21 00:48:52 +00:00
```
To run busybox's tests for a few of the available utilities
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make UTILS='UTILITY_1 UTILITY_2' busytest
2015-12-21 00:48:52 +00:00
```
To pass an argument like "-v" to the busybox test runtime
2021-04-08 01:22:33 +00:00
2017-12-30 06:17:54 +00:00
```bash
$ make UTILS='UTILITY_1 UTILITY_2' RUNTEST_ARGS='-v' busytest
2015-12-21 00:48:52 +00:00
```
2021-05-21 16:31:21 +00:00
## Comparing with GNU
![Evolution over time ](https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.png?raw=true )
To run locally:
```bash
$ bash util/build-gnu.sh
$ bash util/run-gnu-test.sh
```
2021-04-08 01:20:48 +00:00
## Contribute
2013-11-30 23:07:22 +00:00
2017-12-07 06:51:02 +00:00
To contribute to uutils, please see [CONTRIBUTING ](CONTRIBUTING.md ).
2013-11-30 23:07:22 +00:00
2021-04-08 01:20:48 +00:00
## Utilities
2017-07-27 07:51:36 +00:00
| Done | Semi-Done | To Do |
|-----------|-----------|--------|
| arch | cp | chcon |
2020-12-27 14:33:20 +00:00
| base32 | expr | dd |
| base64 | install | numfmt |
2021-01-22 05:01:08 +00:00
| basename | ls | pr |
| cat | more | runcon |
| chgrp | od (`--strings` and 128-bit data types missing) | stty |
| chmod | printf | |
2020-04-28 07:34:55 +00:00
| chown | sort | |
2017-12-30 06:17:54 +00:00
| chroot | split | |
2017-08-06 18:54:18 +00:00
| cksum | tail | |
2017-07-27 07:51:36 +00:00
| comm | test | |
2020-12-27 14:33:20 +00:00
| csplit | date | |
| cut | join | |
| dircolors | df | |
2021-03-24 16:56:07 +00:00
| dirname | tac | |
2017-07-27 07:51:36 +00:00
| du | | |
| echo | | |
| env | | |
| expand | | |
| factor | | |
| false | | |
| fmt | | |
| fold | | |
| groups | | |
| hashsum | | |
| head | | |
| hostid | | |
| hostname | | |
| id | | |
| kill | | |
| link | | |
| ln | | |
| logname | | |
2020-04-15 07:16:24 +00:00
| ~~md5sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
| ~~sha1sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
| ~~sha224sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
| ~~sha256sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
| ~~sha384sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
| ~~sha512sum~~ (replaced by [hashsum ](https://github.com/uutils/coreutils/blob/master/src/uu/hashsum/src/hashsum.rs )) | |
2017-07-27 07:51:36 +00:00
| mkdir | | |
| mkfifo | | |
| mknod | | |
| mktemp | | |
| mv | | |
| nice | | |
| nl | | |
| nohup | | |
| nproc | | |
| paste | | |
| pathchk | | |
| pinky | | |
| printenv | | |
| ptx | | |
| pwd | | |
| readlink | | |
| realpath | | |
| relpath | | |
| rm | | |
| rmdir | | |
| seq | | |
| shred | | |
| shuf | | |
| sleep | | |
| stat | | |
| stdbuf | | |
| sum | | |
| sync | | |
| tee | | |
| timeout | | |
| touch | | |
| tr | | |
| true | | |
| truncate | | |
| tsort | | |
| tty | | |
| uname | | |
| unexpand | | |
| uniq | | |
| unlink | | |
| uptime | | |
| users | | |
| wc | | |
| who | | |
| whoami | | |
| yes | | |
2013-08-02 17:24:20 +00:00
2021-04-08 01:20:48 +00:00
## Targets that compile
2021-03-30 18:51:11 +00:00
This is an auto-generated table showing which binaries compile for each target-triple. Note that this **does not** indicate that they are fully implemented, or that the tests pass.
|######OS######|###ARCH####|arch|base32|base64|basename|cat|chgrp|chmod|chown|chroot|cksum|comm|cp|csplit|cut|date|df|dircolors|dirname|du|echo|env|expand|expr|factor|false|fmt|fold|groups|hashsum|head|hostid|hostname|id|install|join|kill|link|ln|logname|ls|mkdir|mkfifo|mknod|mktemp|more|mv|nice|nl|nohup|nproc|numfmt|od|paste|pathchk|pinky|printenv|printf|ptx|pwd|readlink|realpath|relpath|rm|rmdir|seq|shred|shuf|sleep|sort|split|stat|stdbuf|sum|sync|tac|tail|tee|test|timeout|touch|tr|true|truncate|tsort|tty|uname|unexpand|uniq|unlink|uptime|users|wc|who|whoami|yes|
|--------------|-----------|----|------|------|--------|---|-----|-----|-----|------|-----|----|--|------|---|----|--|---------|-------|--|----|---|------|----|------|-----|---|----|------|-------|----|------|--------|--|-------|----|----|----|--|-------|--|-----|------|-----|------|----|--|----|--|-----|-----|------|--|-----|-------|-----|--------|------|---|---|--------|--------|-------|--|-----|---|-----|----|-----|----|-----|----|------|---|----|---|----|---|----|-------|-----|--|----|--------|-----|---|-----|--------|----|------|------|-----|--|---|------|---|
|linux-gnu|aarch64|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|linux-gnu|i686|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|linux-gnu|powerpc64|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|linux-gnu|riscv64gc| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|linux-gnu|x86_64|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|windows-msvc|aarch64|y|y|y|y|y| | | | |y|y|y|y|y|y|y|y|y| |y|y|y| |y|y|y|y| |y|y|y|y| | |y| |y|y|y| |y| | |y|y|y| |y| |y|y|y|y| | |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| | |y|y|y|y|y|y| |y|y|y|y|y| |y|y|y| |y| |y| | |y|
|windows-gnu|i686|y|y|y|y|y| | | | |y|y|y|y|y|y|y|y|y| |y|y|y| |y|y|y|y| |y|y|y|y| | |y| |y|y|y|y|y| | |y|y|y| |y| |y|y|y|y| | |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| | |y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y| |y| |y| |y|y|
|windows-msvc|i686|y|y|y|y|y| | | | |y|y|y|y|y|y|y|y|y| |y|y|y| |y|y|y|y| |y|y|y|y| | |y| |y|y|y|y|y| | |y|y|y| |y| |y|y|y|y| | |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| | |y|y|y|y|y|y| |y|y|y|y|y| |y|y|y| |y| |y| |y|y|
|windows-gnu|x86_64|y|y|y|y|y| | | | |y|y|y|y|y|y|y|y|y| |y|y|y| |y|y|y|y| |y|y|y|y| | |y| |y|y|y|y|y| | |y|y|y| |y| |y|y|y|y| | |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| | |y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y| |y| |y| |y|y|
|windows-msvc|x86_64|y|y|y|y|y| | | | |y|y|y|y|y|y|y|y|y| |y|y|y| |y|y|y|y| |y|y|y|y| | |y| |y|y|y|y|y| | |y|y|y| |y| |y|y|y|y| | |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| | |y|y|y|y|y|y| |y|y|y|y|y| |y|y|y| |y| |y| |y|y|
2021-05-03 07:42:23 +00:00
|apple MacOS|aarch64|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
2021-03-30 18:51:11 +00:00
|apple MacOS|x86_64|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|freebsd|x86_64|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|
|netbsd|x86_64|y|y|y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y| |y|y| |y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y| | |y| |y|y|
|android|aarch64|y|y|y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y| |y|y| |y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y| |y|y|y|y| |y|y|y|y|y|y| |y|y|y| | |y| |y|y|
|android|x86_64|y|y|y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y| |y|y|y|y|y|y|y|y|y| |y|y| |y|y|y|y|y|y|y|y|y|y|y|y| |y|y|y|y|y| |y|y|y|y|y|y|y|y|y|y|y|y|y|y|y| |y|y| |y|y|y|y| |y|y|y|y|y|y| |y|y|y| | |y| |y|y|
|solaris|x86_64| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|wasi|wasm32| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|redox|x86_64| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|fuchsia|aarch64| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|fuchsia|x86_64| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
2021-04-08 01:20:48 +00:00
## License
2013-08-02 17:24:20 +00:00
2014-02-16 20:44:50 +00:00
uutils is licensed under the MIT License - see the `LICENSE` file for details
2018-04-11 10:47:37 +00:00
2021-03-09 17:43:59 +00:00
GNU Coreutils is licensed under the GPL 3.0 or later.