1
0
mirror of git://git.suckless.org/sbase synced 2025-03-21 10:30:48 +00:00
suckless unix tools
Go to file
Brandon Pribula cf1e064339 README: Add usage instruction for sbase-box
It would be a good idea to add a usage instruction for sbase-box
in sbase's README similar to the one in ubase's README.

Also, There's no command named 'sha238sum' but there is one named
'sha384sum' and in the alphabetized list of commands 'paste' should
come before 'pathchk'.
2024-10-07 11:14:36 +02:00
libutf libutf: add some const's 2023-04-12 21:22:28 -07:00
libutil libutil: Remove free() from strnsub() 2023-09-22 11:44:58 +02:00
scripts build: Fix sbase-box-install target 2024-03-12 17:11:35 +01:00
.gitignore sbase-box: Simplify Makefile rule 2023-09-27 07:10:05 +02:00
arg.h arg.h: fixed argv checks order 2016-02-20 08:23:57 +00:00
basename.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
basename.c basename: support -- 2018-07-07 12:16:11 +01:00
cal.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cal.c cal: Centre month and year above calendar 2019-04-28 14:10:38 -07:00
cat.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cat.c concat: Use plain read/write instead of buffered stdio 2017-07-14 07:50:47 +02:00
chgrp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chgrp.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chmod.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chmod.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chown.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chown.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
chroot.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
chroot.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
cksum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cksum.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
cmp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cmp.c cmp: Make output of error message POSIX compliant 2023-04-12 21:37:04 -07:00
cols.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cols.c Use the UTF8_POINT macro in cols(1) 2016-03-10 08:48:09 +00:00
comm.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
comm.c Rename struct linebufline to struct line and add linecmp() 2016-03-10 08:48:09 +00:00
compat.h Add compat.h 2014-11-17 15:46:28 +00:00
config.mk build: Posixfy the Makefile 2023-09-27 09:46:39 +02:00
cp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cp.c cp: Default to -P when -R is specified 2019-12-21 21:26:19 -08:00
cron.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cron.c Sync cron with latest scron 2015-11-06 11:01:00 +00:00
crypt.h Don't use buffered IO (fread) when not appropriate 2017-07-03 21:04:14 +02:00
cut.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
cut.c Support NUL containing lines in cut(1) 2016-03-10 08:48:09 +00:00
date.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
date.c date: Fix default format string 2019-04-12 19:40:34 -07:00
dd.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
dd.c dd: Consider block count in inner read loop 2023-04-12 20:47:34 -07:00
dirname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
dirname.c dirname: support -- 2018-07-07 12:16:15 +01:00
du.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
du.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
echo.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
echo.c Handle { NULL } argv[] properly in manual arg-reduction 2017-08-05 23:50:39 +02:00
ed.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ed.c ed: Handle correctly lines in substitutions 2023-12-29 20:27:23 +01:00
env.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
env.c env: Check unsetenv() return value 2015-11-06 10:52:49 +00:00
expand.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
expand.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
expr.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
expr.c expr: tonum: handle case where result was previously calculated 2024-01-31 05:00:51 +01:00
false.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
false.c Simplify true(1) and false(1) 2014-10-03 00:03:08 +01:00
find.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
find.c find: Make parameter error messages more specific 2023-11-14 19:36:18 +01:00
flock.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
flock.c flock: Check for waitpid() error 2015-12-21 14:13:36 +00:00
fold.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
fold.c fold: fix handling of -s 2020-10-14 15:03:20 -07:00
fs.h libutil/recurse: Use a single path buffer, and directory fd 2020-03-05 00:45:53 -08:00
getconf.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
getconf.c getconf: Add an explicit return at the end of main 2020-03-01 16:40:01 -08:00
grep.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
grep.c grep: Fix exit status on use of -l 2019-05-20 12:38:54 -07:00
head.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
head.c Support NUL containing lines in head(1) 2016-03-10 08:48:09 +00:00
hostname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
hostname.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
join.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
join.c Support NUL containing lines in join(1) 2016-03-10 08:48:09 +00:00
kill.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
kill.c Handle { NULL } argv[] properly in manual arg-reduction 2017-08-05 23:50:39 +02:00
LICENSE Fix LICENSE name 2022-03-22 17:20:51 -07:00
link.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
link.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
ln.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ln.c ln: Only fail if same inode without -f flag 2016-07-09 10:17:16 +01:00
logger.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
logger.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
logname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
logname.c Handle { NULL } argv[] properly in manual arg-reduction 2017-08-05 23:50:39 +02:00
ls.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
ls.c ls, tar: Guard inclusion of sys/sysmacros.h by absence of major definition 2019-08-05 14:38:32 -07:00
Makefile build: Fix sbase-box-install target 2024-03-12 17:11:35 +01:00
md5.h Add crypt.[ch] and update md5sum and sha1sum 2013-07-18 09:51:17 -04:00
md5sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
md5sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
mkdir.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mkdir.c mkdir: Fix created directory permissions 2017-07-03 21:03:11 +02:00
mkfifo.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mkfifo.c mkfifo: Simplify -m handling 2019-06-13 13:45:37 -07:00
mknod.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mknod.c mknod: Add support for making FIFOs 2020-03-01 16:33:18 -08:00
mktemp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mktemp.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
mv.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
mv.c mv: Move on to other files if rename fails with something other than EXDEV 2021-07-30 12:24:32 -07:00
nice.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nice.c Check if PRIO_MIN and PRIO_MAX are defined 2015-12-15 17:05:21 +00:00
nl.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nl.c Support NUL containing lines in nl(1) and reuse the line-buffer(!) 2016-03-10 08:48:09 +00:00
nohup.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
nohup.c nohup: Open nohup.out WRONLY 2021-10-23 16:17:20 -07:00
od.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
od.c od: For the 'c' type, format non-printable charecters as octal 2018-02-25 23:01:57 -08:00
paste.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
paste.c paste: Minor style tweaks 2020-04-15 16:13:22 -07:00
pathchk.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
pathchk.c Remove unnecessary ';' after ARGEND 2019-06-29 18:39:07 -07:00
printenv.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
printenv.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
printf.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
printf.c printf: allow flags for the %s format string aswell 2021-07-26 20:10:09 +02:00
pwd.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
pwd.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
queue.h Use queue.h in grep(1) 2014-11-16 12:39:15 +00:00
readlink.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
readlink.c readlink: Remove broken support for -m and -e 2015-11-16 16:30:19 +00:00
README README: Add usage instruction for sbase-box 2024-10-07 11:14:36 +02:00
renice.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
renice.c Cleanup usage() across sbase 2015-12-21 18:07:25 +00:00
rev.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rev.c Add rev(1) 2016-12-27 11:35:27 +01:00
rm.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rm.c Remove unnecessary initializers of recursor members 2020-06-23 02:20:41 -07:00
rmdir.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
rmdir.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
sed.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sed.c sed: Include filename in error message 2020-02-20 21:49:11 -08:00
seq.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
seq.c Cleanup usage() across sbase 2015-12-21 18:07:25 +00:00
setsid.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
setsid.c setsid: fix usage information for -f flag 2022-06-20 12:39:59 +02:00
sha1.h Add crypt.[ch] and update md5sum and sha1sum 2013-07-18 09:51:17 -04:00
sha1sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha1sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha224.h add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha224sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha224sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha256.h Add sha256sum(1) 2013-07-20 13:20:16 -04:00
sha256sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha256sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha384.h add sha224sum and sha384sum 2016-02-24 10:15:16 +00:00
sha384sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha384sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512-224.h add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256) 2016-02-24 10:40:57 +00:00
sha512-224sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512-224sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512-256.h add sha512-224sum (SHA512/224) and sha512-256sum (SHA512/256) 2016-02-24 10:40:57 +00:00
sha512-256sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512-256sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sha512.h Add sha512sum(1) 2013-08-04 11:00:34 -04:00
sha512sum.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sha512sum.c *sum: Ignore -b and -t flags 2020-03-05 00:45:53 -08:00
sleep.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sleep.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
sort.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sort.c sort: Don't do fallback top-level sort in check mode 2020-01-03 15:42:33 -08:00
split.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
split.c Fix type mismatch in split(1) 2015-11-26 10:35:46 +00:00
sponge.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sponge.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
strings.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
strings.c strings: Rename len to min 2021-01-14 21:46:30 -08:00
sync.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
sync.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
tail.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tail.c tail: Process bytes with -c option, and add -m option for runes 2017-07-14 07:50:54 +02:00
tar.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tar.c tar: chktar: fix conditional typo 2024-03-06 16:00:10 +01:00
tee.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tee.c Don't use buffered IO (fread) when not appropriate 2017-07-03 21:04:14 +02:00
test.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
test.c Handle { NULL } argv[] properly in manual arg-reduction 2017-08-05 23:50:39 +02:00
text.h concat: Use plain read/write instead of buffered stdio 2017-07-14 07:50:47 +02:00
tftp.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tftp.c Include sys/time.h for timeval structure 2015-11-13 11:32:11 +00:00
time.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
time.c Fix type mismatches 2015-11-26 10:35:46 +00:00
TODO ed: Add other pending bug 2024-03-22 04:39:25 +01:00
touch.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
touch.c touch: Avoid unnecessary call to stat 2016-07-09 10:17:16 +01:00
tr.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tr.c tr: fix behavior of cflag when using character classes 2023-09-21 15:27:01 +02:00
true.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
true.c Simplify true(1) and false(1) 2014-10-03 00:03:08 +01:00
tsort.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tsort.c Remove unnecessary ';' after ARGEND 2019-06-29 18:39:07 -07:00
tty.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
tty.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
uname.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uname.c uname: check that no operands are specified 2018-09-24 13:04:06 -07:00
unexpand.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
unexpand.c No need for semicolon after ARGEND 2015-11-01 10:18:55 +00:00
uniq.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uniq.c uniq: always store previous line length 2016-03-11 15:38:36 +00:00
unlink.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
unlink.c Revert "Do not use arg.h for tools which take no flags" 2019-06-29 18:33:48 -07:00
utf.h paste: Support -d '\0' 2020-04-15 16:11:12 -07:00
util.h xargs: add replace string flag (-I) 2023-09-22 10:34:36 +02:00
uudecode.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uudecode.c Revert "fix length after '\' getline string termination" 2016-03-01 15:24:32 +00:00
uuencode.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
uuencode.c uuencode: style: just use pointer *b 2016-03-01 15:24:32 +00:00
wc.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
wc.c wc: Removing output padding 2019-12-21 20:19:08 -08:00
which.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
which.c which: check AT_EACCESS 2019-07-30 07:40:35 -07:00
whoami.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
whoami.c Handle { NULL } argv[] properly in manual arg-reduction 2017-08-05 23:50:39 +02:00
xargs.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
xargs.c xargs: Read full lines is -I 2023-09-22 14:19:36 +02:00
xinstall.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
xinstall.c install: Unlink destination file on failure 2020-05-24 20:58:36 -07:00
yes.1 fix: update man pages to standard mdoc date format 2024-09-08 08:35:39 +02:00
yes.c yes: Simplify, only support one argument 2019-10-31 18:14:18 -07:00

sbase - suckless unix tools
===========================

sbase is a collection of unix tools that are inherently portable across
UNIX and UNIX-like systems.

The complement of sbase is ubase[1] which is Linux-specific and provides
all the non-portable tools. Together they are intended to form a base
system similar to busybox but much smaller and suckless.

Building
--------

To build sbase, simply type make. You may have to fiddle with config.mk
depending on your system.

You can also build sbase-box, which generates a single binary containing
all the required tools. You can then symlink the individual tools to
sbase-box or run: make sbase-box-install

To run the tools for sbase-box directly use: sbase-box cmd [args]

Ideally you will want to statically link sbase. If you are on Linux we
recommend using musl-libc[2].

Portability
-----------

sbase has been compiled on a variety of different operating systems,
including Linux, *BSD, OSX, Haiku, Solaris, SCO OpenServer and others.

Various combinations of operating systems and architectures have also
been built.

You can build sbase with gcc, clang, tcc, nwcc and pcc.

Status
------

The following tools are implemented:

'#'  -> UTF-8 support, '=' -> Implicit UTF-8 support, '*' -> Finished,
'|'  -> Audited,       'o' -> POSIX 2013 compliant,   'x' -> Non-POSIX,
'0'  -> NUL handling,  '()' -> Petty flag

      UTILITY         MISSING
      -------         -------
0=*|o basename        .
0=*|o cal             .
0=*|o cat             .
0=*|o chgrp           .
0=*|o chmod           .
0=*|o chown           .
0=*|x chroot          .
0=*|o cksum           .
0=*|o cmp             .
0#*|x cols            .
0=*|o comm            .
0=*|o cp              (-i)
0=*|x cron            .
0#*|o cut             .
0=*|o date            .
0=*|o dd              .
0=*|o dirname         .
0=*|o du              .
0=*|o echo            .
    o ed              .
0=*|o env             .
0#*|o expand          .
0#*|o expr            .
0=*|o false           .
0=    find            .
0=* x flock           .
0#*|o fold            .
0=*|o getconf         (-v)
 =*|o grep            .
0=*|o head            .
0=*|x hostname        .
0=*|x install         .
0=* o join            .
0=*|o kill            .
0=*|o link            .
0=*|o ln              .
0=*|o logger          .
0=*|o logname         .
0#* o ls              (-C, -k, -m, -p, -s, -x)
0=*|x md5sum          .
0=*|o mkdir           .
0=*|o mkfifo          .
0=*|x mknod           .
0=*|x mktemp          .
0=*|o mv              (-i)
0=*|o nice            .
0#*|o nl              .
0=*|o nohup           .
0=*|o od              .
 #*|o paste           .
0#* o pathchk         .
0=*|x printenv        .
0#*|o printf          .
0=*|o pwd             .
0=*|x readlink        .
0=*|o renice          .
0#* x rev             .
0=*|o rm              (-i)
0=*|o rmdir           .
 #    sed             .
0=*|x seq             .
0=*|x setsid          .
0=*|x sha1sum         .
0=* x sha224sum       .
0=*|x sha256sum       .
0=* x sha384sum       .
0=*|x sha512sum       .
0=* x sha512-224sum   .
0=* x sha512-256sum   .
0=*|o sleep           .
0#*|o sort            .
0=*|o split           .
0=*|x sponge          .
0#*|o strings         .
0=*|x sync            .
0=*|o tail            .
0=*|x tar             .
0=*|o tee             .
0=*|o test            .
0=*|x tftp            .
0=*|o time            .
0=*|o touch           .
0#*|o tr              .
0=*|o true            .
0=* o tsort           .
0=*|o tty             .
0=*|o uname           .
0#*|o unexpand        .
0=*|o uniq            .
0=*|o unlink          .
0=*|o uudecode        .
0=*|o uuencode        .
0#*|o wc              .
0=*|x which           .
0=*|x whoami          .
0=*|o xargs           (-p)
0=*|x yes             .

[1] http://git.suckless.org/ubase/
[2] http://www.musl-libc.org/