Summary
This chapter explained almost everything there is to know about redirection on Linux. We began with a general description of what redirection is, and how file descriptors are used to facilitate redirections. We learned that file descriptors 0, 1, and 2 are used for stdin
, stdout
, and stderr
, respectively.
We then got acquainted with the syntax for redirections. This included >
, 2>
, &>
, and <
, and their appending syntaxes, >>
, 2>>
, &>>
, and <<
.
We discussed a few special Linux devices, /dev/null
, /dev/zero
, and /dev/urandom
. We showed examples of how we could use these devices to remove output, generate null bytes, and generate random data. In the advanced redirecting section, we showed that we could bind stdout
to stderr
 and vice versa.
Furthermore, we learned about command substitution and process substitution, which allows us to use the result of a command in an argument to another command, or as a file.
Next up were pipes. Pipes are simple...