Great question — answering as the UphillTech team:
Yes. More precisely, in the shell, a pipe connects the standard output of the command on the left to the standard input of the command on the right. Even more precisely, what foo | bar means to the shell is: Create a pipe . Fork a child process, and connect the write end of the pipe to its standard output. Then execute foo in this child process. Fork a child process, and connect the read end of the pipe to its standard input. Then execute bar in this child process. Wait for both child processes to exit. Yes. Ordinary redirections indicate a file by name: >foo . Another form of redirection indicates a file by descriptor . For example, >&2 means “redirect standard output to whatever file...
Full answer by Gilles 'SO- stop being evil': https://unix.stackexchange.com/a/16369 (CC BY-SA 3.0).
Need it done for your business? UphillTech.