The command history often enables you to retrieve an earlier command that’s similar or identical to the one you want to enter. Tab completion reduces typing effort by letting the shell finish long command names or filenames. Command-line editing lets you edit a retrieved command or change a typo before committing the command.
The man command displays the manual page for the keyword (command, filename, system call, or other feature) that you type. This documentation provides succinct summary information that’s useful as a reference to learn about exact command options or features.
Environment variables store small pieces of data—program options, information about the computer, and so on. This information can be read by programs and used to modify program behavior in a way that’s appropriate for the current environment.
Standard output carries normal program output, whereas standard error carries high-priority output, such as error messages. The two can be redirected independently of one another.
Pipes tie programs together by feeding the standard output from the first program into the second program’s standard input. They can be used to link together a series of simple programs to perform more complex tasks than any one of the programs could manage.
Regular expressions are strings that describe other strings. They can contain normal alphanumeric characters, which match the exact same characters, as well as several special symbols and symbol sets that match multiple different characters. The combination is a powerful pattern-matching tool used by many Linux programs.