mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2026-01-17 18:51:05 +00:00
95 lines
2.9 KiB
Markdown
95 lines
2.9 KiB
Markdown
# Extensions over GNU
|
|
|
|
Though the main goal of the project is compatibility, uutils supports a few
|
|
features that are not supported by GNU coreutils. We take care not to introduce
|
|
features that are incompatible with the GNU coreutils. Below is a list of uutils
|
|
extensions.
|
|
|
|
## General
|
|
|
|
GNU coreutils provides two ways to define short options taking an argument:
|
|
|
|
```
|
|
$ ls -w 80
|
|
$ ls -w80
|
|
```
|
|
|
|
We support a third way:
|
|
|
|
```
|
|
$ ls -w=80
|
|
```
|
|
|
|
## `env`
|
|
|
|
`env` has an additional `-f`/`--file` flag that can parse `.env` files and set
|
|
variables accordingly. This feature is adopted from `dotenv` style packages.
|
|
|
|
## `cp`
|
|
|
|
`cp` can display a progress bar when the `-g`/`--progress` flag is set.
|
|
|
|
## `mv`
|
|
|
|
`mv` can display a progress bar when the `-g`/`--progress` flag is set.
|
|
|
|
## `hashsum`
|
|
|
|
This utility does not exist in GNU coreutils. `hashsum` is a utility that
|
|
supports computing the checksums with several algorithms. The flags and options
|
|
are identical to the `*sum` family of utils (`sha1sum`, `sha256sum`, `b2sum`,
|
|
etc.).
|
|
|
|
## `b3sum`
|
|
|
|
This utility does not exist in GNU coreutils. The behavior is modeled after both
|
|
the `b2sum` utility of GNU and the
|
|
[`b3sum`](https://github.com/BLAKE3-team/BLAKE3) utility by the BLAKE3 team and
|
|
supports the `--no-names` option that does not appear in the GNU util.
|
|
|
|
## `more`
|
|
|
|
We provide a simple implementation of `more`, which is not part of GNU
|
|
coreutils. We do not aim for full compatibility with the `more` utility from
|
|
`util-linux`. Features from more modern pagers (like `less` and `bat`) are
|
|
therefore welcomed.
|
|
|
|
## `cut`
|
|
|
|
`cut` can separate fields by whitespace (Space and Tab) with `-w` flag. This
|
|
feature is adopted from [FreeBSD](https://www.freebsd.org/cgi/man.cgi?cut).
|
|
|
|
## `fmt`
|
|
|
|
`fmt` has additional flags for prefixes: `-P`/`--skip-prefix`, `-x`/`--exact-prefix`, and
|
|
`-X`/`--exact-skip-prefix`. With `-m`/`--preserve-headers`, an attempt is made to detect and preserve
|
|
mail headers in the input. `-q`/`--quick` breaks lines more quickly. And `-T`/`--tab-width` defines the
|
|
number of spaces representing a tab when determining the line length.
|
|
|
|
## `seq`
|
|
|
|
`seq` provides `-t`/`--terminator` to set the terminator character.
|
|
|
|
## `ls`
|
|
|
|
GNU `ls` provides two ways to use a long listing format: `-l` and `--format=long`. We support a
|
|
third way: `--long`.
|
|
|
|
GNU `ls --sort=VALUE` only supports special non-default sort orders.
|
|
We support `--sort=name`, which makes it possible to override an earlier value.
|
|
|
|
## `du`
|
|
|
|
`du` allows `birth` and `creation` as values for the `--time` argument to show the creation time. It
|
|
also provides a `-v`/`--verbose` flag.
|
|
|
|
## `id`
|
|
|
|
`id` has three additional flags:
|
|
* `-P` displays the id as a password file entry
|
|
* `-p` makes the output human-readable
|
|
* `-A` displays the process audit user ID
|
|
|
|
## `uptime`
|
|
|
|
Similar to the proc-ps implementation and unlike GNU/Coreutils, `uptime` provides `-s`/`--since` to show since when the system is up.
|