Grundlagen von Linux und der Kommandozeile
$ echo a > f.txt
$ echo b > f.txt
$ echo c >> f.txt
$ cat f.txtWas zeigt das letzte cat an, wenn die obigen Befehle nacheinander ausgeführt werden?
- ANur die eine Zeile c
- BDie zwei Zeilen b und c
- CDie drei Zeilen a, b und c
Antwort und Erläuterung anzeigen
Antwort: B. Die zwei Zeilen b und c
„>“ ist eine Umleitung, die die Ausgabe in eine Datei schreibt; existiert die Datei bereits, wird sie vorher geleert (überschrieben). „>>“ hängt an das Ende der Datei an. Die erste Zeile schreibt a, das > in der zweiten Zeile lässt nur b übrig, und das >> in der dritten Zeile fügt c dahinter an; f.txt enthält also die zwei Zeilen b und c. Damit man eine wichtige Datei nicht versehentlich mit > leert, kann bash das Überschreiben mit set -o noclobber verbieten.
Weiter: 9 weitere Fragen zu Grundlagen von Linux und der Kommandozeile