---

O’Reilly Network: Living Linux: Linux and the Tools Philosophy

“A product of the late 1960s, the Unix operating system and
related software was invented by Dennis Ritchie, Ken Thompson,
Brian Kernighan, and many other hackers at Bell Labs… That
this operating system has survived in form for more than thirty
years should tell us something about the temerity of its design
considerations. And one of these considerations — perhaps its most
endearing — is the “tools” philosophy.”

“Unix-like operating systems do not put so much weight on
application programs. Instead, they come with a lot of small
programs called “tools.” Each tool is generally capable of
performing a very simple, specific task, and performing it well —
one tool does nothing but output the file(s) or data passed to it,
one tool spools its input to the print queue, one tool sorts the
lines of its input, and so on.”

“An important early development in Unix was the invention of
“pipes,” a way to pass the output of one tool to the input of
another. By knowing what the individual tools do and how they are
combined, a user could now build powerful “strings” of commands.
…multiple tools could then be combined to perform a task
unpredicted by the function of the individual tools. This is the
concept of “synergy,” and it forms the basis of the Unix tools
philosophy.”

Complete
Story

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis