En el shell, ¿qué significa "2> & 1"?


En un shell Unix, si quiero combinar stderr y stdout en el flujo stdout para una mayor manipulación, puedo añadir lo siguiente al final de mi comando:

2>&1

Entonces, si quiero usar head en la salida de g++, puedo hacer algo como esto:

g++ lots_of_errors 2>&1 | head

Así que solo puedo ver los primeros errores.

Siempre tengo problemas para recordar esto, y constantemente tengo que ir a buscarlo, y es principalmente porque no entiendo completamente la sintaxis de este particular truco.

¿Puede alguien romper esto y explicar carácter por carácter lo que 2>&1 significa?


Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52