File descriptor 1 is the standard output (
File descriptor 2 is the standard error (
Here is one way to remember this construct (although it is not entirely accurate): at first,
2>1 may look like a good way to redirect
stdout. However, it will actually be interpreted as “redirect
stderr to a file named
& indicates that what follows and precedes is a file descriptor and not a filename. So the construct becomes:
>& as redirect merger operator.