Redirect stderr to stdout using 2>&1
2>&1 is used to redirect standard error (stderr) to standard output (stdout). It allows you to capture and handle both types of output in the same way.
File descriptors
There are 3 file descriptors, represented by numbers:
Redirection
> is used to redirect the output of a command to something else.
File descriptor
& indicates that what follows is a file descriptor (in the context of a redirection). It is required otherwise it will interpret the 1 as a filename (eg 2>1 would mean "redirect stderr to a file named 1").
Putting it together
2>&1 indicates that file descriptor 2 (stderr) should be redirected to file descriptor 1 (stdout).
Examples
command > /dev/null 2>&1
The stdout of command is redirected to /dev/null and stderr is redirected to stdout. Meaning everything is redirected to /dev/null.
cat file.txt > output.txt 2>&1
Send the content of file.txt to output.txt. If any errors (eg. file does not exist), send it to stdout which is also output.txt.
ls -l ./apps/ ./packages 2> /dev/null
List the content of ./apps and ./packages. If there was any errors (eg. directory does not exist), send stderr to /dev/null.