Unix's flexibility arises from its large collection of tools and the ease of combining different tools to accomplish tasks . This is a key part of the Unix culture of computing.
When we say "utility" here, we mean a command or other software that is commonly used in a variety of situations and is frequently combined with other commands to perform a useful task. For example, the sort command is usually used to sort the output of other commands. Unix utilities have been designed to be combined easily.
You've seen in Chapter 2, "Using the Command Line," how the output of a command can be piped into the input of another command. This allows you to create an almost infinite variety of command lines using different commands, options, and arguments.
Because there are so many commands, just knowing what is available is a big part of being able to use Unix effectively. This chapter is intended to introduce you to the more common and useful Unix utilities. Almost all the commands described in this book are found on every Unix system you are likely to use.
An important exception is the mdfind command, which enables you to do Spotlight searches from the command line. (In the appendix, "Darwin-only Unix Commands," you will find a list of Unix commands that are more or less unique to Mac OS X/Darwin.) One of the best features of Unix is that even though different versions exist and are constantly being updated, the skills you learn on one Unix system will help you on all Unix systems.