Redirect data streams with pipes

Pipes in the shell offer a surprising amount of versatility, including the ability to transfer data between computers.

Many users are only familiar with pipes as links between multiple flows, but they can do much more than that. Pipes can help you transfer data between computers. In this article, I will show you how to use pipes to redirect data streams in the shell.


Whenever a process starts under Linux, it is automatically assigned three channels. These channels have system assignments that let you address them, and each has a starting and end point. Channel 0 (STDIN) reads data, channel 1 (STDOUT) outputs data, and channel 2 (STDERR) outputs any error messages. Channel 2 typically points to the same device as channel 1 (Figure 1).

Figure 1: The shell reads input from the keyboard (STDIN, channel 0) and outputs the results on screen (STDOUT, channel 1). Error messages are displayed via STDERR (channel 2).


Use Express-Checkout link below to read the full article (PDF).

Posted by Contributor