Do Unix Tools Do One Thing Well
Do Unix Tools Do One Thing Well?
Unix philosophy says “small is beautiful” and “do one thing well”, but vast majority of unix commands are not beautiful and doesn't do one thing well.
For example
- grep supports
-r
option, while it really should be justgrep
+find
. - The command
find
is supposed to be a do-one-thing-well command for feeding multiple files to other do-one-thing-well commands. - Yet,
find
itself needsxarg
in confused combination with its-exec
.
Such examples happens everywhere in unix.
Unix shells is another example.
It began with Bourne shell sh
, then several tried to fix its shortcoming.
bash
,
csh
,
tcsh
,
zsh
,
ksh
.
all in the 90s.
and today (2025-06-04), we have
fish shell, nushell, etc.
In trying to fix the whole shell bag, came the turd Perl .
Unix Shell
Why UNIX sucks series
- The Unix-Haters Handbook
- The Nature of the Unix Philosophy
- Origin of Unix Pipe
- Do Unix Tools Do One Thing Well
- Why Unix Man Page Sucks
- Why Unix Shell Syntax Sucks
- Why Bash Sucks
- Origin of Unix Dot File Names (Rob Pike. 2012)
- UNIX Philosophy, Fast Food the UNIX way
- On Unix File System's Case Sensitivity (2001)
- On Unix Filename Characters Problem (2008)
- Unix and the mbox Email Format (2002)
- Unix, RFC, Line Truncation (2002)
- The X-Windows Disaster (X11) (1994. Don Hopkins)
- The Unix Pestilence (2003)