Sie wollen die Einträge von /etc/passwd durch
sort /etc/passwd > /etc/passwd
sortieren. Was ist das Ergebnis?
Die Datei /etc/passwd ist leer.
Jeder Eintrag von /etc/passwd kommt doppelt vor.
Die Einträge von /etc/passwd sind numerisch sortiert.
Die Einträge von /etc/passwd sind alphabetisch sortiert.
Die Datei /etc/passwd wird nicht verändert.
LPI-Lernziel Ströme, Pipes und Umleitungen verwenden (103.4)
Die Ein- und Ausgabeumlenkung in Linux wird nicht von den einzelnen
Kommandos vorgenommen, sonder ist Aufgabe der Shell. Die Kommandos lesen
die benannten Dateien (oder ihre Standardeingabe) und schreiben auf die
Standardausgabe; die Shell kümmert sich darum, Standardein- und ausgabe
gegebenenfalls mit anderen Dateien als dem Terminal (/dev/tty) zu verbinden.
In unserem Beispiel stellt die Shell fest, dass die Ausgabe des
sort-Kommandos in die Datei /etc/passwd geschrieben werden soll. Sie
setzt die (vermutlich existierende Datei) also auf die Länge 0 zurück und
verbindet sie mit der Standardausgabe des Kindprozesses, der als nächstes
das sort-Kommando ausführt. Dieser Prozess möchte selbst /etc/passwd
lesen (und sortieren), aber die Shell hat diese Datei gerade geleert.
sort findet also nichts zu tun, beendet sich, und /etc/passwd bleibt
leer. Antwort 1 ist richtig.
KIDS, DON'T TRY THIS AT HOME! Wenn Sie unvorsichtigerweise dieses
Kommando testhalber als root auf einem echten System ausführen,
sollten Sie eine Sicherheitskopie von /etc/passwd zur Hand haben,
ansonsten ist es um die Integrität Ihres Systems anschließend schlecht
bestellt. (Als normaler Benutzer werden Sie erleben, dass die Shell
sich dagegen sträubt, in Ihrem Namen /etc/passwd zu überschreiben,
und das ist auch ganz richtig so.)
Nicht angemeldet