January 20, 2019

Mastering Redirection in BASH on Linux

Sending Your Inputs and Outputs Where They Belong

  • March 16, 2010
  • By Juliet Kemp

Juliet Kemp
It took me ages to learn bash redirection properly, and I still have to concentrate sometimes to keep my &s and my >s straight. Here's the lowdown in case you, too, have intermittent brain failure on this one.

Bash has three standard file descriptors: stdin, stdout and stderr, which refer respectively to input, output and error output. By default, all of these are directed to the terminal, so all input comes from the terminal, and all output (regular and error) will go to the terminal.

You're probably already familiar with redirecting stdin and stdout:

process.pl < datain.txt > dataout.txt
To redirect stderr, you must be more specific:
/etc/init.d/apache2 2> errors.txt
Often, you want to redirect both stdout and stderr to the same file, and there are two ways of doing that:

Read the rest of this Linux BASH story at ServerWatch.com

Most Popular LinuxPlanet Stories