14387 shaares
5333 private links
5333 private links
To combine stderr
and stdout
into the stdout
stream, we append this to a command:
2>&1
e.g. to see the first few errors from compiling g++ main.cpp
:
g++ main.cpp 2>&1 | head
What does 2>&1
mean, in detail?
File descriptor 1 is the standard output (stdout
).
File descriptor 2 is the standard error (stderr
).
At first, 2>1
may look like a good way to redirect stderr
to stdout
. However, it will actually be interpreted as "redirect stderr
to a file named 1
".
&
indicates that what follows and precedes is a file descriptor, and not a filename. Thus, we use 2>&1
. Consider >&
to be a redirect merger operator.