1 is stdout. 2 is stderr.
Here is one way to remember this construct (altough it is not entirely accurate): 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
& indicates that what follows is a file descriptor and not a filename. So the construct becomes: