Unter Unix gibt es sog. File-Deskriptoren. Darüber greift man auf eine Datei zu.
- 0 steht für Standard Input (stdin)
- 1 steht für Standard Output (stdout)
- 2 steht für Standard Error (stderr)
Insgesamt stehen laut POSIX zehn Deskriptoren (0-9) zur Verfügung.
apt update > /dev/null 2>&1
Das Zeichen > entspricht 1> (die 1 muss nicht geschrieben werden, da es der Standardfall ist). 1> bedeutet, dass stdout nach /dev/null umgeleitet wird.
/dev/null ist das sog. Null Device. Du kannst es dir wie ein Schwarzes Loch vorstellen. Was dort landet, ist für immer weg.
2>&1 bedeutet, dass stderr (File Descriptor 2) an die Ausgabe, die sich hinter File Descriptor 1 verbirgt, umgeleitet wird, also an stdout. Da stdout bereits nach /dev/null umgeleitet wird, landen am ende normale Ausgaben und Fehlerausgaben bei /dev/null.