Distinguishing command types

The commands you can use in a Bash script fall into three major categories:

The executable programs called by system commands may be written in any language. Bash can be used to specify how these programs run, where their input comes from, how their output is processed, and how their success or failure changes the execution of the rest of the script.

We will explore useful commands in the first and third categories in this chapter. Runtime commands (aliases and functions) are discussed in Chapter 7, Scripts, Functions, and Aliases. In this chapter, you will learn how to use these essential builtin commands:

You will also learn how to use these system commands, which are not part of Bash itself:

We will not be covering the use of interactive text editors, such as emacs, nano, and vi, due to space concerns. It's a very good idea for an aspiring Bash programmer to learn how to use one of those editors, however! Your author recommends vi, especially the Vim implementation.