Comment cmd & gt; / dev / null 2 ​​& gt; & amp; 1 travail?

Je suis en train de lire sur la redirection des données à /dev/null et donc j'ai essayé un test simple:

ping a.b.c  # which results in an address not found

Si j'essaye ceci:

ping a.b.c > /dev/null # prints the same error message as the one above

Cependant, si je fais ceci:

ping a.b.c > /dev/null 2>&1 # The error message is gone

Que la dernière solution est la solution souhaitée, mais ce qui se passe avec cette 2>&1? Mes recherches jusqu'à présent suggèrent que 2 représente stderr et 1 représente stdout. Donc si j'ai lu de cette façon, on dirait que je suis la création d'un stderr fichier et de rediriger les stdout?

Si c'est le cas, quel est le & dans cette commande?

source d'informationauteur hax0r_n_code