
Busybox POSIX conformance table

See POSIX documentation (1003.1-2008) here:
http://www.opengroup.org/onlinepubs/9699919799/
And the complete list of all utilities that POSIX covers:
http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html

This listing is a work in progress, and currently only covers
tool options (not operands, environment variables, return codes, etc..).
For each option it is set if it (a) exists and (b) compliant to POSIX 2008.
Some options exist but there is no value in the 'compliant' column: that
means no one has yet bothered to make sure that the option does what it is
required to do.

-----------------------------------------------

POSIX Tools supported only as shell built-ins (ash shell):
  alias, bg, cd, fg, getopts, hash, jobs, read, type, umask, ulimit,
  unalias, wait, write

POSIX Tools not supported:
  asa, at, batch, bc, c99, command, compress, csplit, ex, fc, file,
  gencat, getconf, iconv, join, link, locale, localedef, lp, m4,
  mailx, newgrp, nl, pathchk, pax, pr, qalter, qdel, qhold, qmove,
  qmsg, qrerun, qrls, qselect, qsig, qstat, qsub, tabs, talk, tput,
  tsort, unlink, uucp, uustat, uux

POSIX Tools not supported (DEVELOPMENT):
  admin, cflow, ctags, cxref, delta, fort77, get, lex, make, nm, prs, rmdel,
  sact, sccs, strip, unget, val, what, yacc


POSIX Tools supported:

Note: echo, printf, kill, pwd documented here as stand-alone applets,
      not as ash built-ins.


ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar)
 option           | exists | compliant | remarks
  -C              |  no    | no        |
  -T              |  no    | no        |
  -a              |  no    | no        |
  -b              |  no    | no        |
  -c              |  no    | no        |
  -d              |  no    | no        |
  -i              |  no    | no        |
  -m              |  no    | no        |
  -p              |  yes   |           |
  -q              |  no    | no        |
  -r              |  no    | no        |
  -s              |  no    | no        |
  -t              |  yes   |           |
  -u              |  no    | no        |
  -v              |  yes   |           |
  -x              |  yes   |           |
ar Busybox specific options:
  -o

awk POSIX options
 option           | exists | compliant | remarks
  -F ERE          |  yes   |           |
  -f progfile     |  yes   |           |
  -v assignment   |  yes   |           |
awk Busybox specific options: None

basename POSIX options: None
basename Busybox specific options: None

cal POSIX options: None
cal Busybox specific options:
  -y, -j

cat POSIX options
 option           | exists | compliant | remarks
  -u              |  yes   | no        | option is ignored
cat Busybox specific options: None

chgrp POSIX options
 option           | exists | compliant | remarks
  -H              |  yes   |           |
  -L              |  yes   |           |
  -P              |  yes   |           |
  -R              |  yes   |           |
  -h              |  yes   |           |
chgrp Busybox specific options:
  -f, -c, -v

chmod POSIX options
 option           | exists | compliant | remarks
  -R              |  yes   | yes       |
chmod Busybox specific options:
  -f, -v, -c

chown POSIX options *********************************************
 option           | exists | compliant | remarks
  -H              |  yes   |           | It seems like all flags are supported (according to printout), but
  -L              |  yes   |           |  it fails to work on my machine
  -P              |  yes   |           |
  -R              |  yes   |           |
  -h              |  yes   |           |
chown Busybox specific options:
  -f, -c, -v

cksum POSIX options: None
cksum Busybox specific options: None

cmp POSIX options
 option           | exists | compliant | remarks
  -l              |  yes   | yes       |
  -s              |  yes   | yes       |
cmp Busybox specific options:


comm POSIX options
 option           | exists | compliant | remarks
  -1              |  yes   | yes       |
  -2              |  yes   | yes       |
  -3              |  yes   | yes       |
comm Busybox specific options: None

cp POSIX options
 option           | exists | compliant | remarks
  -H              |  yes   | yes       |
  -L              |  yes   | yes       |
  -P              |  yes   | yes       |
  -R              |  yes   | yes       |
  -f              |  yes   | yes       |
  -i              |  yes   | yes       |
  -p              |  yes   | yes       |
cp Busybox specific options:
  -d, -a, -s, -c, -r, -l

crontab POSIX options
 option           | exists | compliant | remarks
  -e              |  yes   |           |
  -l              |  yes   |           |
  -r              |  yes   |           |
crontab Busybox specific options:
  -u, -c

cut POSIX options
 option           | exists | compliant | remarks
  -b list         |  yes   | yes       |
  -c list         |  yes   | yes       |
  -d delim        |  yes   | yes       |
  -f list         |  yes   | yes       |
  -n              |  yes   | yes       |
  -s              |  yes   | yes       |
cut Busybox specific options: None

date POSIX options
 option           | exists | compliant | remarks
  -u              |  yes   | yes       |
date Busybox specific options:
  -I[SPEC], -d TIME, -r FILE, -R, -D FMT

dd POSIX options:
 option           | exists | compliant | remarks
  if              |  yes   |           |
  of              |  yes   |           |
  ibs             |  yes   |           |
  obs             |  yes   |           |
  bs              |  yes   |           |
  cbs             |  no    | no        |
  skip            |  yes   |           |
  seek            |  yes   |           |
  count           |  yes   |           |
  conv=ascii      |  no    | no        |
  conv=ebcdic     |  no    | no        |
  conv=ibm        |  no    | no        |
  conv=block      |  no    | no        |
  conv=unblock    |  no    | no        |
  conv=lcase      |  no    | no        |
  conv=ucase      |  no    | no        |
  conv=swap       |  no    | no        |
  conv=noerror    |  yes   |           |
  conv=notrunc    |  yes   |           |
  conv=sync       |  yes   |           |
  iflag=skip_bytes|  yes   |           |
dd Busybox specific options:
 conv=fsync

df POSIX options
 option           | exists | compliant | remarks
  -P              |  yes   | yes       |
  -k              |  yes   | yes       |
  -t              |  no    | no        |
df Busybox specific options:
  -a, -m, -B SIZE, -i, -h
Remark:
- It seems that GNU df does not round percents up in its output (thus its results are a bit different)

diff POSIX options
 option           | exists | compliant | remarks
  -C n            |  no    | no        |
  -U n            |  yes   |           |
  -b              |  yes   |           |
  -c              |  no    | no        |
  -e              |  no    | no        |
  -f              |  no    | no        |
  -r              |  yes   |           |
  -u              |  no    | no        |
diff Busybox specific options:
  -d, -a, -s, -t, -L, -N, -i, -T, -w, -q, -S

dirname POSIX options: None
dirname Busybox specific options: None

du POSIX options
 option           | exists | compliant | remarks
  -H              |  yes   |           |
  -L              |  yes   |           |
  -a              |  yes   |           |
  -k              |  yes   |           |
  -s              |  yes   |           |
  -x              |  yes   |           |
du Busybox specific options:
  -c, -m, -h, -d N, -l


echo POSIX options: None
 option           | exists | compliant | remarks
  -n              |  yes   | yes       | The result of -n is "implementation-defined"
echo Busybox specific options:
  -e, -E

ed POSIX options
 option           | exists | compliant | remarks
  -p string       |  no    | no        |
  -s              |  no    | no        |
ed Busybox specific options: None

env POSIX options
 option           | exists | compliant | remarks
  -i              |  no    | no        |
env Busybox specific options:
  -u, -,  -i

expand POSIX options
 option           | exists | compliant | remarks
  -t tablist      |  yes   | yes       |
expand Busybox specific options:
  --tabs=N, -i, --initial

expr POSIX operations:
 option           | exists | compliant | remarks
  |               |  yes   |  yes      |
  &               |  yes   |  yes      |
  =               |  yes   |  yes      |
  >               |  yes   |  yes      |
  >=              |  yes   |  yes      |
  <=              |  yes   |  yes      |
  <               |  yes   |  yes      |
  !=              |  yes   |  yes      |
  +               |  yes   |  yes      |
  -               |  yes   |  yes      |
  *               |  yes   |  yes      |
  /               |  yes   |  yes      |
  %               |  yes   |  yes      |
  :               |  yes   |  yes      |
  (expr)          |  yes   |  yes      |
  integer         |  yes   |  yes      |
  string          |  yes   |  yes      |
expr Busybox specific operations:
  match, substr, index, length, quote

false POSIX options: None
false Busybox specific options: None

find POSIX options
 option           | exists | compliant | remarks
  -H              |  no    | no        |
  -L              |  no    | no        |
find Busybox specific options:
  -group NAME, -mtime DAYS, -print, -maxdepth N, -exec CMD ARG ;, -newer FILE, -context, -iname PATTERN, -follow, -depth, -xdev, -inum N, -type X, -print0, -mindepth N, -mmin MINS, -regex PATTERN, -prune, -path PATTERN, -user NAME, -delete, -perm NNN, -name PATTERN, -size N[bck]

fold POSIX options
 option           | exists | compliant | remarks
  -b              |  yes   | yes       |
  -s              |  yes   | yes       |
  -w width        |  yes   | yes       |
fold Busybox specific options: None

fuser POSIX options
 option           | exists | compliant | remarks
  -c              |  no    | no        |
  -f              |  no    | no        |
  -u              |  no    | no        |
fuser Busybox specific options:
  -m, -k, -4, -SIGNAL, -6, -s

grep POSIX options
 option           | exists | compliant | remarks
  -E              |  yes   |           |
  -F              |  yes   |           |
  -c              |  yes   |           |
  -e pattern_list |  yes   |           |
  -f pattern_file |  yes   |           |
  -i              |  yes   |           |
  -l              |  yes   |           |
  -n              |  yes   |           |
  -q              |  yes   |           |
  -s              |  yes   |           |
  -v              |  yes   |           |
  -x              |  no    | no        |
grep Busybox specific options:
  -A, -C, -B, -L, -H, -o, -h, -w, -r, -z, -m MAX

head POSIX options
 option           | exists | compliant | remarks
  -n number       |  yes   | yes       |
head Busybox specific options:
  -v, -c NUM, -q

id POSIX options
 option           | exists | compliant | remarks
  -G              |  yes   | yes       |
  -g              |  yes   | yes       |
  -n              |  yes   | yes       |
  -r              |  yes   | yes       |
  -u              |  yes   | yes       |
id Busybox specific options:
  -Z

ipcrm POSIX options
 option           | exists | compliant | remarks
  -M shmkey       |  no    | no        |
  -Q msgkey       |  no    | no        |
  -S semkey       |  no    | no        |
  -m shmid        |  no    | no        |
  -q msgid        |  no    | no        |
  -s semid        |  no    | no        |
ipcrm Busybox specific options:
  -mM, -qQ, -sS

ipcs POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   |           |
  -b              |  no    | no        |
  -c              |  yes   |           |
  -m              |  yes   |           |
  -o              |  no    | no        |
  -p              |  yes   |           |
  -q              |  yes   |           |
  -s              |  yes   |           |
  -t              |  yes   |           |
ipcs Busybox specific options:
  -l, -i, -u

kill POSIX options
 option           | exists | compliant | remarks
  -l              |  yes   | yes       |
  -s signal_name  |  yes   | yes       |
  -signal_name    |  yes   | yes       |
  -signal_number  |  yes   | yes       |
kill Busybox specific options:
   -q, -o

ln POSIX options
 option           | exists | compliant | remarks
  -L              |  no    | no        |
  -P              |  no    | no        |
  -f              |  yes   | yes       |
  -s              |  yes   | yes       |
ln Busybox specific options:
  -S suf, -n, -b

logger POSIX options: None
logger Busybox specific options:
  -p PRIO, -t TAG, -s

logname POSIX options: None
logname Busybox specific options: None

ls POSIX options
 option           | exists | compliant | remarks
  -1              |  yes   | yes       |
  -A              |  yes   | yes       |
  -C              |  yes   | yes       |
  -F              |  yes   | yes       | And more: '=' for sockets (not defined by POSIX)
  -H              |  no    | no        |
  -L              |  yes   | yes       | But coloring may be wrong (at least POSIX does not require correct colors :) )
  -R              |  yes   | yes       |
  -S              |  yes   | yes       |
  -a              |  yes   | yes       |
  -c              |  yes   | no        | Sorts output with '-l' (should only show ctime with '-l', and sort only with '-t')
  -d              |  yes   | no        | When invoked together with '-L' should read symbolic links, and doesn't
  -f              |  no    | no        |
  -g              |  no    | no        |
  -i              |  yes   | yes       |
  -k              |  yes   | no        | Does something completely unrelated! (Lists security context instead of specifying block size)
  -l              |  yes   | yes       |
  -m              |  no    | no        |
  -n              |  yes   | no        | Works correctly only together with '-l' (but POSIX requires '-l' to be implicitly assumed)
  -o              |  no    | no        |
  -p              |  yes   | yes       |
  -q              |  no    | no        |
  -r              |  yes   | yes       |
  -s              |  yes   | yes       |
  -t              |  yes   | yes       |
  -u              |  yes   | yes       |
  -x              |  yes   | yes       |
ls Busybox specific options:
  --color, -T NUM, -K, -X, -Z, -e, -h, -v, -w NUM

man POSIX options
 option           | exists | compliant | remarks
  -k              |  no    | no        |
man Busybox specific options:
  -a      Display all pages


mesg POSIX options: None
mesg Busybox specific options: None

mkdir POSIX options
 option           | exists | compliant | remarks
  -m mode         |  yes   | yes       |
  -p              |  yes   | yes       |
mkdir Busybox specific options:
  -Z

mkfifo POSIX options
 option           | exists | compliant | remarks
  -m mode         |  yes   | yes       |
mkfifo Busybox specific options:
  -Z

more POSIX options
 option           | exists | compliant | remarks
  -c              |  no    | no        |
  -e              |  no    | no        |
  -i              |  no    | no        |
  -n number       |  no    | no        |
  -p command      |  no    | no        |
  -s              |  no    | no        |
  -t tagstring    |  no    | no        |
  -u              |  no    | no        |
more Busybox specific options: None

mv POSIX options
 option           | exists | compliant | remarks
  -f              |  yes   | yes       |
  -i              |  yes   | yes       |
mv Busybox specific options: None

nice POSIX options
 option           | exists | compliant | remarks
  -n increment    |  yes   | yes       |
nice Busybox specific options: None

nohup POSIX options: None
nohup Busybox specific options: None

od POSIX options
 option           | exists | compliant | remarks
  -A address_base |  no    | no        |
  -N count        |  no    | no        |
  -b              |  no    | no        |
  -c              |  no    | no        |
  -d              |  no    | no        |
  -j skip         |  no    | no        |
  -o              |  no    | no        |
  -s              |  no    | no        |
  -t type_string  |  no    | no        |
  -v              |  no    | no        |
  -x              |  no    | no        |
od Busybox specific options: None

paste POSIX options
 option           | exists | compliant | remarks
  -d list         |  yes   | yes       |
  -s              |  yes   | yes       |
paste Busybox specific options: None

patch POSIX options
 option           | exists | compliant | remarks
  -D define       |  no    | no        |
  -N              |  no    | no        |
  -R              |  yes   | yes       |
  -b              |  no    | no        |
  -c              |  no    | no        |
  -d dir          |  no    | no        |
  -e              |  no    | no        |
  -i patchfile    |  yes   | yes       |
  -l              |  no    | no        |
  -n              |  no    | no        |
  -o outfile      |  no    | no        |
  -p num          |  yes   | yes       |
  -r rejectfile   |  no    | no        |
  -u              |  no    | no        |
patch Busybox specific options: None

printf POSIX options: None
printf Busybox specific options: None

ps POSIX options
 option           | exists | compliant | remarks
  -A              |  no    | no        |
  -G grouplist    |  no    | no        |
  -U userlist     |  no    | no        |
  -a              |  no    | no        |
  -d              |  no    | no        |
  -e              |  no    | no        |
  -f              |  no    | no        |
  -g grouplist    |  no    | no        |
  -l              |  no    | no        |
  -n namelist     |  no    | no        |
  -o format       |  yes   | no        | not supported: ruser, group, rgroup, pcpu
  -p proclist     |  no    | no        |
  -t termlist     |  no    | no        |
  -u userlist     |  no    | no        |
ps Busybox specific options: None

pwd POSIX options
 option           | exists | compliant | remarks
  -L              |  no    | no        |
  -P              |  no    | no        |
pwd Busybox specific options: None

renice POSIX options
 option           | exists | compliant | remarks
  -g              |  yes   | yes       |
  -n increment    |  yes   | yes       | Note POSIX allows only to run with this option (busybox also allows to run without '-n' and set niceness directly)
  -p              |  yes   | yes       |
  -u              |  yes   | yes       |
renice Busybox specific options: None

rm POSIX options
 option           | exists | compliant | remarks
  -R              |  yes   | yes       |
  -f              |  yes   | yes       |
  -i              |  yes   | yes       |
  -r              |  yes   | yes       |
rm Busybox specific options: None

rmdir POSIX options
 option           | exists | compliant | remarks
  -p              |  yes   | yes       |
rmdir Busybox specific options:
  --parents

sed POSIX options
 option           | exists | compliant | remarks
  -e script       |  yes   |           |
  -f script_file  |  yes   |           |
  -n              |  yes   |           |
sed Busybox specific options:
  -i, -r

sh POSIX options
 option           | exists | compliant | remarks
  -c              |  no    | no        |
  -i              |  no    | no        |
  -s              |  no    | no        |
sh Busybox specific options: None

sleep POSIX options: None
sleep Busybox specific options: None

sort POSIX options
 option           | exists | compliant | remarks
  -C              |  no    | no        |
  -b              |  yes   | yes       |
  -c              |  yes   | yes       |
  -d              |  yes   | yes       |
  -f              |  yes   | yes       |
  -i              |  yes   | yes       | But is not like GNU sort, which isn't! (try to sort 'a\nA\nB\nb' with and without -f)
  -k keydef       |  yes   |           |
  -m              |  no    | no        |
  -n              |  yes   | yes       |
  -o output       |  yes   | yes       |
  -r              |  yes   | yes       |
  -t char         |  yes   |           |
  -u              |  yes   | yes       |
sort Busybox specific options:
  -mST, -g, -M, -s, -z

split POSIX options
 option           | exists | compliant | remarks
  -a suffix_length |  yes   | yes       |
  -b n            |  yes   | yes       |
  -b nk           |  yes   | yes       |
  -b nm           |  yes   | yes       |
  -l line_count   |  yes   | yes       |
split Busybox specific options: None

strings POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   | yes       |
  -n number       |  yes   | yes       |
  -t format       |  no    | no        |
strings Busybox specific options:
  -o, -f

stty POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   | yes       |
  -g              |  yes   | yes       |
stty Busybox specific options:
  -F DEVICE

tail POSIX options
 option           | exists | compliant | remarks
  -c number       |  yes   | yes       |
  -f              |  yes   | yes       |
  -n number       |  yes   | yes       |
tail Busybox specific options:
  -v, -q, -s SEC

tee POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   | yes       |
  -i              |  yes   | yes       |
tee Busybox specific options: None

test POSIX options: None
test Busybox specific options: None

time POSIX options
 option           | exists | compliant | remarks
  -p              |  no    | no        |
time Busybox specific options:
  -v

touch POSIX options
 option           | exists | compliant | remarks
  -a              |  no    | no        |
  -c              |  yes   | yes       |
  -d date_time    |  no    | no        |
  -m              |  no    | no        |
  -r ref_file     |  no    | no        |
  -t time         |  no    | no        |
touch Busybox specific options: None

tr POSIX options
 option           | exists | compliant | remarks
  -C              |  no    | no        |
  -c              |  yes   | yes       |
  -d              |  yes   | yes       |
  -s              |  yes   | yes       |
tr Busybox specific options: None

true POSIX options: None
true Busybox specific options: None

tty POSIX options: None
tty Busybox specific options:
  -s

uname POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   | yes       |
  -m              |  yes   | yes       |
  -n              |  yes   | yes       |
  -r              |  yes   | yes       |
  -s              |  yes   | yes       |
  -v              |  yes   | yes       |
uname Busybox specific options:
  -p

uncompress POSIX options
 option           | exists | compliant | remarks
  -c              |  yes   | yes       |
  -f              |  yes   | yes       |
  -v              |  no    | no        |
uncompress Busybox specific options: None

unexpand POSIX options
 option           | exists | compliant | remarks
  -a              |  yes   | no        | POSIX requires converting two or more spaces to tabs, busybox converts one or more spaces
  -t tablist      |  yes   | yes       |
unexpand Busybox specific options:
  --tabs=N, -f, --first-only, --all

uniq POSIX options
 option           | exists | compliant | remarks
  -c              |  yes   | yes       |
  -d              |  yes   | yes       |
  -f fields       |  yes   | yes       |
  -s chars        |  yes   | yes       |
  -u              |  yes   | yes       |
uniq Busybox specific options:
  -w N

uudecode POSIX options
 option           | exists | compliant | remarks
  -o outfile      |  no    | no        |
uudecode Busybox specific options: None

uuencode POSIX options
 option           | exists | compliant | remarks
  -m              |  yes   | yes       |
uuencode Busybox specific options: None

vi POSIX options
 option           | exists | compliant | remarks
  -R              |  yes   |           |
  -c command      |  yes   |           |
  -r              |  no    | no        |
  -t tagstring    |  no    | no        |
  -w size         |  no    | no        |
vi Busybox specific options:
  -H

wc POSIX options
 option           | exists | compliant | remarks
  -c              |  yes   | yes       |
  -l              |  yes   | yes       |
  -m              |  no    | no        |
  -w              |  yes   | yes       |
wc Busybox specific options:
  -L

who POSIX options
 option           | exists | compliant | remarks
  -H              |  no    | no        |
  -T              |  no    | no        |
  -a              |  yes   | no        | just shows all
  -b              |  no    | no        |
  -d              |  no    | no        |
  -l              |  no    | no        |
  -m              |  no    | no        |
  -p              |  no    | no        |
  -q              |  no    | no        |
  -r              |  no    | no        |
  -s              |  no    | no        |
  -t              |  no    | no        |
  -u              |  no    | no        |
who Busybox specific options: None

xargs POSIX options
 option           | exists | compliant | remarks
  -E eofstr       |  no    | no        |
  -I replstr      |  no    | no        |
  -L number       |  no    | no        |
  -n number       |  yes   | yes       |
  -p              |  yes   | yes       |
  -s size         |  yes   | yes       |
  -t              |  yes   | yes       |
  -x              |  yes   | yes       |
xargs Busybox specific options:
  -e[STR], -0, -r

zcat POSIX options: None
zcat Busybox specific options: None
