Grundlagen von Linux und der Kommandozeile

$ echo a > f.txt
$ echo b > f.txt
$ echo c >> f.txt
$ cat f.txt

Was zeigt das letzte cat an, wenn die obigen Befehle nacheinander ausgeführt werden?

  1. ANur die eine Zeile c
  2. BDie zwei Zeilen b und c
  3. 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.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Linux und der Kommandozeile

  1. Wie oben gezeigt, wird in einem Verzeichnis, in dem a.txt existiert und nofile nicht, der letzte Befehl ausgeführt. Welches Ergebnis ist richtig?
  2. Welchen Wert gibt der letzte Befehl in der obigen Sitzung aus?
  3. Welche Zeilen gibt das letzte grep in der obigen Sitzung aus?
  4. In den Auswahlmöglichkeiten sind die Leerzeichen am Zeilenanfang weggelassen. Welche Zeile gibt die letzte Pipeline in der obigen Sitzung aus?
  5. Zeilen, die später an die Server-Logdatei /var/log/app.log angehängt werden, sollen fortlaufend auf dem Bildschirm erscheinen, sobald sie hinzukommen. Welcher Befehl ist geeignet?