Simple commands
At an interactive Bash prompt, you can enter a command line for Bash to execute. Most often while in interactive mode, you would issue only one simple command at a time, ending each command with Enter. You would then wait for each command to finish before entering the next one, examining any output or errors that it passes to your terminal after each command.
A simple command consists of at least a command name, possibly with one or more arguments, each separated by at least one space. The full definition can also include environment variable assignments and redirection operators, which we'll explore in later chapters.
Let's consider the following command:
$ mkdir -p New/bash
This simple command consists of three shell words:
- mkdir: The command name, referring to the mkdir program that creates a directory
- -p: An option string for mkdir that specifies that the full directory path can be created, whether or not any of the directories in the path already exist
- New/bash: The relative path for the directory to create
Note that -p is not a special word or syntax to Bash; it's special to mkdir. Bash simply passes it to mkdir as an argument. The meaning of command options is a property of the commands themselves, not the shell from which they're called.