|
If you are familiar with UNIX I/O redirection, syntax similar to the following should not be new to you:
command > file 2>&1
When command runs it sends "normal" output to file, and any error messages generated by command are also written to file. "2>&1" handles the latter.
The 2 and 1 are file descriptors. So what's a file descriptor?
When a UNIX program wants to use a file, it must first open that file. When it does so, UNIX will associate a number with the file. This number, which is used by the program when reading from and writing to the file, is the file descriptor.
A typical UNIX program will open three files when it starts. These files are:
- standard input (also known as stdin)
- standard output (also known as stdout)
- standard error (also known as stderr)
Standard input has a file descriptor of 0, standard output uses 1, and the number 2 is used by standard error.
|