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/utilities/utilities.html
+http://www.opengroup.org/onlinepubs/9699919799/idx/utilities.html
This listing is a work in progress, and currently only covers
tool options (not operands, enviroment variables, return codes, etc..).
not as ash built-ins.
-ar POSIX options
+ar POSIX options ********************* Failed to recognize zip & tar (did not compare to regular ar)
option | exists | compliant | remarks
-C | no | no |
-T | no | no |
chmod Busybox specific options:
-f, -v, -c
-chown POSIX options
+chown POSIX options *********************************************
option | exists | compliant | remarks
- -H | yes | |
- -L | yes | |
+ -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 | |
comm POSIX options
option | exists | compliant | remarks
- -1 | yes | |
- -2 | yes | |
- -3 | yes | |
+ -1 | yes | yes |
+ -2 | yes | yes |
+ -3 | yes | yes |
comm Busybox specific options: None
cp POSIX options
option | exists | compliant | remarks
- -H | yes | |
- -L | yes | |
- -P | yes | |
- -R | yes | |
- -f | yes | |
- -i | yes | |
- -p | yes | |
+ -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
cut POSIX options
option | exists | compliant | remarks
- -b list | yes | |
- -c list | yes | |
- -d delim | yes | |
- -f list | yes | |
- -n | yes | |
- -s | yes | |
+ -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
date Busybox specific options:
-I[SPEC], -d TIME, -r FILE, -R, -D FMT
-dd POSIX options: None
+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 | |
dd Busybox specific options:
-
+ conv=fsync
df POSIX options
option | exists | compliant | remarks
- -P | yes | |
- -k | yes | |
+ -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 doesnt rount percents up in its output (thus its results are a bit different)
diff POSIX options
option | exists | compliant | remarks
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, -n
+ -e, -E
ed POSIX options
option | exists | compliant | remarks
expand POSIX options
option | exists | compliant | remarks
- -t tablist | yes | |
+ -t tablist | yes | yes |
expand Busybox specific options:
--tabs=N, -i, --initial
-expr POSIX options: None
-expr Busybox specific options:
-
+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
fold POSIX options
option | exists | compliant | remarks
- -b | yes | |
- -s | yes | |
- -w width | yes | |
+ -b | yes | yes |
+ -s | yes | yes |
+ -w width | yes | yes |
fold Busybox specific options: None
fuser POSIX options
id POSIX options
option | exists | compliant | remarks
- -G | yes | |
- -g | yes | |
- -n | yes | |
- -r | yes | |
- -u | yes | |
+ -G | yes | yes |
+ -g | yes | yes |
+ -n | yes | yes |
+ -r | yes | yes |
+ -u | yes | yes |
id Busybox specific options:
-Z
option | exists | compliant | remarks
-L | no | no |
-P | no | no |
- -f | yes | |
- -s | yes | |
+ -f | yes | yes |
+ -s | yes | yes |
ln Busybox specific options:
-S suf, -n, -b
ls POSIX options
option | exists | compliant | remarks
- -1 | yes | |
- -A | yes | |
- -C | yes | |
- -F | yes | |
+ -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 | |
- -R | yes | |
- -S | yes | |
- -a | yes | |
- -c | yes | |
- -d | yes | |
+ -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 | |
- -k | yes | |
- -l | yes | |
+ -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 | |
- -o | no | no |
- -p | yes | |
+ -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 | |
- -s | yes | |
- -t | yes | |
- -u | yes | |
- -x | yes | |
+ -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
mkdir POSIX options
option | exists | compliant | remarks
- -m mode | yes | |
- -p | yes | |
+ -m mode | yes | yes |
+ -p | yes | yes |
mkdir Busybox specific options:
-Z
mv POSIX options
option | exists | compliant | remarks
- -f | yes | |
- -i | yes | |
+ -f | yes | yes |
+ -i | yes | yes |
mv Busybox specific options: None
nice POSIX options
option | exists | compliant | remarks
- -n increment | yes | |
+ -n increment | yes | yes |
nice Busybox specific options: None
nohup POSIX options: None
option | exists | compliant | remarks
-D define | no | no |
-N | no | no |
- -R | yes | |
+ -R | yes | yes |
-b | no | no |
-c | no | no |
-d dir | no | no |
-e | no | no |
- -i patchfile | yes | |
+ -i patchfile | yes | yes |
-l | no | no |
-n | no | no |
-o outfile | no | no |
- -p num | yes | |
+ -p num | yes | yes |
-r rejectfile | no | no |
-u | no | no |
patch Busybox specific options: None
renice POSIX options
option | exists | compliant | remarks
- -g | yes | |
- -n increment | yes | |
- -p | yes | |
- -u | yes | |
+ -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 | |
- -f | yes | |
- -i | yes | |
- -r | yes | |
+ -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 | |
+ -p | yes | yes |
rmdir Busybox specific options:
--parents
sort POSIX options
option | exists | compliant | remarks
-C | no | no |
- -b | yes | |
- -c | yes | |
- -d | yes | |
- -f | yes | |
- -i | yes | |
- -k keydef | yes | |
+ -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 | |
- -o output | yes | |
- -r | yes | |
+ -n | yes | yes |
+ -o output | yes | yes |
+ -r | yes | yes |
-t char | yes | |
- -u | yes | |
+ -u | yes | yes |
sort Busybox specific options:
-mST, -g, -M, -s, -z
split POSIX options
option | exists | compliant | remarks
- -a suffix_length | yes | |
- -b n | yes | |
- -b nk | yes | |
- -b nm | yes | |
- -l line_count | yes | |
+ -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 | |
- -n number | yes | |
+ -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 | |
- -g | yes | |
+ -a | yes | yes |
+ -g | yes | yes |
stty Busybox specific options:
-F DEVICE
tee POSIX options
option | exists | compliant | remarks
- -a | yes | |
- -i | yes | |
+ -a | yes | yes |
+ -i | yes | yes |
tee Busybox specific options: None
test POSIX options: None
touch POSIX options
option | exists | compliant | remarks
-a | no | no |
- -c | yes | |
+ -c | yes | yes |
-d date_time | no | no |
-m | no | no |
-r ref_file | no | no |
tr POSIX options
option | exists | compliant | remarks
-C | no | no |
- -c | yes | |
- -d | yes | |
- -s | yes | |
+ -c | yes | yes |
+ -d | yes | yes |
+ -s | yes | yes |
tr Busybox specific options: None
true POSIX options: None
uname POSIX options
option | exists | compliant | remarks
- -a | yes | |
- -m | yes | |
- -n | yes | |
- -r | yes | |
- -s | yes | |
- -v | yes | |
+ -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 | |
- -f | yes | |
+ -c | yes | yes |
+ -f | yes | yes |
-v | no | no |
uncompress Busybox specific options: None
unexpand POSIX options
option | exists | compliant | remarks
- -a | yes | |
- -t tablist | yes | |
+ -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 | |
- -d | yes | |
- -f fields | yes | |
- -s chars | yes | |
- -u | yes | |
+ -c | yes | yes |
+ -d | yes | yes |
+ -f fields | yes | yes |
+ -s chars | yes | yes |
+ -u | yes | yes |
uniq Busybox specific options:
-w N
uuencode POSIX options
option | exists | compliant | remarks
- -m | yes | |
+ -m | yes | yes |
uuencode Busybox specific options: None
vi POSIX options
wc POSIX options
option | exists | compliant | remarks
- -c | yes | |
- -l | yes | |
+ -c | yes | yes |
+ -l | yes | yes |
-m | no | no |
- -w | yes | |
+ -w | yes | yes |
wc Busybox specific options:
-L
option | exists | compliant | remarks
-H | no | no |
-T | no | no |
- -a | yes | |
+ -a | yes | no | just shows all
-b | no | no |
-d | no | no |
-l | no | no |
-E eofstr | no | no |
-I replstr | no | no |
-L number | no | no |
- -n number | yes | |
- -p | yes | |
- -s size | yes | |
- -t | yes | |
- -x | yes | |
+ -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