A little note for seeing this things: with the less command you can view both stdout (which will remain on the buffer) and the stderr that will be printed on the screen, but erased as you try to 'browse' the buffer.
Here, a file called 'ls-l.txt' will be created and it will contain what you would see on the screen if you type the command 'ls -l' and execute it.
ls -l > ls-l.txt
Here, a file called 'grep-errors.txt' will be created and it will contain what you would see the stderr portion of the output of the 'grep da *' command.
grep da * 2> grep-errors.txt
Here, the stdout portion of the command is sent to stderr, you may notice that in differen ways.
grep da * 1>&2
Here, the stderr portion of the command is sent to stdout, if you pipe to less, you'll see that lines that normally 'dissapear' (as they are written to stderr) are being kept now (because they're on stdout).
grep * 2>&1
rm -f $(find / -name core) &> /dev/null
reference :: http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html