Triage of SUSv4 utilities list at http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html ! sccs: admin delta get prs rmdel sact sccs unget val what ! fortran: asa fort77 ! shell: ! alias bg cd command fc fg getopts hash jobs kill read type ulimit ! umask unalias wait ! build: ! ar c99 cflow ctags cxref getcat iconv lex m4 make nm strings strip ! tsort yacc ! obsolete: compress ed ex pr uncompress uucp uustat uux ! ipc: ipcrm ipcs ! internationalization: iconv locale localedef ! batch: batch qalter qdel qhold qmove qmsg qrerun qrls qselect qsig qstat qsub ! meh: lp mailx pax talk mesg write todo: at awk basename bc cal cat chgrp chmod chown cksum cmp comm cp crontab csplit cut date dd df diff dirname du echo env expand expr false file find fold fuser getconf grep head id join kill link ln logger logname ls man mkdir mkfifo more mv newgrp nice nl nohup od paste patch pathchk printf ps pwd renice rm rmdir sed sh sleep sort split stty tabs tail tee test time touch tput tr true tty uname unexpand uniq unlink uudecode uuencode vi wc who xargs zcat MISSING: bzcat catv chroot chvt count dmesg mkswap netcat oneit seq setsid sha1sum sync which yes done: basename cal cat cksum cp df dirname echo env false link nice nohup patch pwd rmdir sleep sort tee true tty uname unlink wc fiddly: awk bc file find sh vi man zcat medium hanging fruit: cron crontab at chgrp chmod chown cut dd diff expr fold join ls newgrp nl od paste pathchk printf ps renice sed stty tabs time tput tr uudecode uuencode csplit getconf grep test low hanging fruit: cmp comm date du expand fuser head id kill ln mkfifo logger logname mkdir more mv rm split tail touch uniq who xargs unexpand directory recursing: HLPx notes: chgrp has -HLP but chmod never follows symlinks? (What about to files?) new argument stuff: -m mode -u one two three [repeat until spanked, variant of list]