Penguin
Note: You are viewing an old revision of this page. View the current version.
Small is beautiful; Write a program to do one thing, and one thing well. Don't try and add every possible feature. eg
grep(1)
Scriptability
Everything is inherently scriptable, Programs read their commands from either stdin or from the command line, and a simple bash(1) script can automate any of these.
Policy
Policy is not defined for you, you get to decide what you want. If policy is required, a reasonable default will often be provided.
Transparency
Someone familiar with Unix can look at every process running and explain precisely what it is there for, what it does, and can decide if it's needed or not, and what (if any) replacements would be appropriate for this use. You almost always have the source, if the documentation doesn't work, go RTFS.
Text file Configuration
Configuration files are stored in simple, easy to read text files which can be edited with your favourite text editor, or processed by Unix's powerful text processing tools.
Complex behaviour from simple components
By stringing simple tools together (such as grep(1), sed(1), awk(1), cut(1)...) you can get complicated behaviour. Many programs are just shell scripts using just these commands (see TwoLetterCommands).
Automation Rules
Anything can be automated
User is right
If you ask the computer to do something it will do it, no confirmation dialogs, no undo's. if you rm(1) a file, it's gone.

See also Wiki:UnixWay