cat
100%

Befehlszeile · Lektion 7

cat

Lerne, mit cat Dateiinhalte sicher anzuzeigen, zu verketten und umzuleiten.

Nachdem du Dateien bestimmen kannst, besteht der nächste Schritt darin, ihren Inhalt zu lesen. cat zeigt Dateien an und reiht ihre Inhalte aneinander; sein Name ist die Kurzform von „concatenate“.

Dateiinhalte anzeigen

In der einfachsten Form zeigt cat eine Datei direkt im Terminal an:

$ cat myfile.txt

Der Befehl schreibt die gesamte Datei in die Standardausgabe, hier also ins Terminal. Das eignet sich gut für kurze Texte; lange Dateien können jedoch zu schnell vorbeiscrollen.

Welcher Befehl zeigt myfile.txt vollständig im Terminal an?

Dateien verketten

Übergibst du cat mehrere Dateien, liest der Befehl sie in der angegebenen Reihenfolge und gibt ihre Inhalte nacheinander aus:

$ cat dogfile birdfile

Damit erscheint zuerst dogfile, anschließend birdfile. Um die kombinierte Ausgabe in einer neuen Datei zu speichern, leitest du die Standardausgabe mit > um:

$ cat dogfile birdfile > animals

Die Shell erstellt animals beziehungsweise leert eine bereits vorhandene Datei, bevor sie cat ausführt, und leitet die kombinierte Ausgabe dorthin. Verwende deshalb keine der Eingabedateien zugleich als Ziel: Sie könnte geleert werden, bevor cat sie liest.

Welcher Befehl schreibt erst part1, dann part2 in die neu erstellte oder ersetzte Datei whole?

Terminaleingaben in eine Datei schreiben

Ohne Eingabedatei liest cat aus der Standardeingabe. Zusammen mit > kannst du so Text im Terminal eingeben und in eine Datei schreiben:

$ cat > newfile.txt

Gib anschließend den gewünschten Text ein. Mit Ctrl+D sendest du ein Dateiende-Signal und kehrst zur Shell zurück. Vorsicht: Existiert newfile.txt bereits, löscht > den bisherigen Inhalt.

Mit >> hängst du neue Eingaben an, statt vorhandene Inhalte zu ersetzen:

$ cat >> notes.txt

Du möchtest weiteren Text am Ende einer vorhandenen notes.txt eingeben. Welcher Befehl startet diesen Vorgang, ohne die Datei zu leeren?

Die Ausgabe formatieren

Mehrere Optionen erleichtern die Prüfung der Ausgabe:

  • -n: Nummeriert alle Ausgabezeilen, beginnend bei 1.
  • -b: Nummeriert nur nicht leere Ausgabezeilen.
  • -s: Fasst mehrere aufeinanderfolgende Leerzeilen zu einer zusammen.
  • -A: Macht nicht druckbare Zeichen, Tabulatoren und Zeilenenden sichtbar.

Beispiele:

$ cat -n script.sh
$ cat -b notes.txt
$ cat -s messy.txt

Welcher Befehl nummeriert nur die nicht leeren Ausgabezeilen von notes.txt?

Einen Betrachter für lange Dateien wählen

Verwende cat, wenn du die gesamte Ausgabe auf einmal sehen möchtest. Bei langen Dateien ist less meist angenehmer, weil du darin scrollen, suchen und die Ansicht verlassen kannst, ohne das Terminal mit Text zu überfluten:

$ less /var/log/syslog

Welcher Befehl eignet sich besser zum interaktiven Lesen einer langen Protokolldatei?

Lektion abgeschlossen

Sie haben cat abgeschlossen

Du kannst nun mit cat Dateiinhalte anzeigen und verketten und dabei sichere Umleitungen wählen.

  • Zeige den vollständigen Inhalt einer kurzen Datei an.

  • Verkette Dateien in einer bestimmten Reihenfolge.

  • Ersetze oder ergänze ein Ziel bewusst.

  • Nummeriere oder vereinfache Ausgabezeilen.

  • Verwende less, wenn interaktives Lesen geeigneter ist.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Befehlszeile