Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

Linux cat-Befehl: Syntax, Optionen, echte Beispiele

Linux cat-Befehl: Syntax, Optionen, echte Beispiele

Der Linux cat-Befehl ist eines dieser Tools, die du jeden Tag verwendest, ohne darüber nachzudenken. Dann wird dir eines Tages klar, dass du nur 20 % dessen weißt, was er tut. Hier sind die anderen 80 %.

Was ist der Linux cat-Befehl?

cat steht für „concatenate“ (verketten). Sein ursprünglicher Zweck bestand darin, Dateien zusammenzufügen, aber es hat sich zum Standardbefehl für die schnelle Anzeige von Dateiinhalten entwickelt. Es liest eine oder mehrere Dateien und schreibt sie in die Standardausgabe, die du im Terminal anzeigen oder anderswo umleiten kannst.

Wo cat in die tägliche Linux-Arbeit passt

Du greifst auf cat zurück, wenn du schnell eine Konfigurationsdatei lesen, einen Protokollausschnitt überprüfen oder die korrekte Schreibweise einer Datei verifizieren musst. Für längere Dateien sind die Befehle less oder more besser geeignet. cat ist für kurze Dateien gedacht, in denen man alles auf einmal ohne Seitenumbruch anzeigen möchte.

cat-Befehlssyntax

cat [OPTIONS] [FILENAME...]

Ohne Dateinamen liest cat von der Standardeingabe, bis du Strg+D drückst. Bei einem oder mehreren Dateinamen werden diese der Reihe nach gelesen und ausgedruckt.

Verwendung des cat-Befehls

Dateiinhalt anzeigen

Der häufigste Anwendungsfall:

cat /etc/hostname
cat /var/log/syslog

Bei mehreren Dateien zeigt cat sie nacheinander in der angegebenen Reihenfolge an.

Mehrere Dateien verketten

Dafür wurde cat eigentlich entwickelt. Dateien zu einer zusammenfassen:

cat file1.txt file2.txt > combined.txt

Das > leitet die kombinierte Ausgabe in eine neue Datei um. Ohne es wird der kombinierte Inhalt im Terminal ausgegeben.

Zeilennummern mit -n hinzufügen

Das Flag -n nummeriert jede Ausgabezeile, was nützlich ist, wenn auf bestimmte Zeilen in Konfigurationsdateien oder Skripten verwiesen wird:

cat -n /etc/nginx/nginx.conf

Das Flag -b nummeriert nur nicht-leere Zeilen, wenn du das Zählen leerer Zeilen überspringen möchtest.

Unterdrücke Leerzeilen mit -s

Das Flag -s fasst mehrere aufeinanderfolgende Leerzeilen in eine einzige Leerzeile zusammen. Nützlich bei ausführlichen Konfigurationsdateien oder Protokollausgaben mit zahlreichen Leerzeilen:

cat -s verbose_config.txt

Nicht druckbare Zeichen mit -A anzeigen

Das Flag -A zeigt Tabs als ^I und Zeilenenden als $-Zeichen an. Das ist besonders hilfreich beim Debuggen von im Windows-Format gespeicherten Dateien, die auf einen Linux-Server hochgeladen wurden, da versteckte Carriage-Return-Zeichen (^M) Skripte stören können.

cat -A script.sh

Wenn du am Ende jeder Zeile ^M siehst, weist die Datei Windows-Zeilenenden auf. Behebe es mit dos2unix.

Dateien mit cat erstellen und anhängen

Eine neue Datei erstellen

Verwende cat mit Umleitung und einem heredoc, um eine Datei interaktiv zu erstellen:

cat > newfile.txt

Gib deinen Inhalt ein und drücke dann Strg+D zum Speichern und Beenden. Die Datei wird mit deiner Eingabe erstellt.

An eine vorhandene Datei anhängen

Verwende >> statt > zum Anhängen, ohne zu überschreiben:

cat >> existing.txt

Gib neuen Inhalt ein und drücke zum Beenden Strg+D. Das wird ans Ende der Datei angehängt.

cat mit Pipes und Umleitungen

cat funktioniert gut als Beginn einer Pipeline, wenn du eine Datei in einen anderen Befehl einspeisen möchtest:

cat access.log | grep "404" | wc -l

Allerdings akzeptieren viele Befehle Dateinamen direkt (grep „404“ access.log), wodurch cat überflüssig wird. Es ist eher eine Geschmacksfrage für die Lesbarkeit statt zur Effizienz.

Wann man cat NICHT verwenden sollte: häufige Fehlanwendungen

Der ’nutzlose Einsatz von cat‘ ist in Linux-Skripting-Kreisen Realität. Durch die Weiterleitung von cat an Befehle, die Dateien direkt lesen können, wird ein sinnloser Prozesszweig hinzugefügt:

  • cat file.txt | grep pattern → verwende grep pattern file.txt stattdessen
  • cat file.txt | head -20 → verwende head -20 file.txt stattdessen
  • cat file.txt | wc -l → verwende wc -l file.txt stattdessen

Das ist nicht falsch, verursacht aber unnötigen Overhead. Bei großen Dateien oder in engen Schleifen summiert sich das.

FAQ: Linux cat-Befehl

Was macht cat unter Linux?

cat liest eine oder mehrere Dateien und schreibt deren Inhalt in die Standardausgabe. Du kannst Dateien im Terminal anzeigen, mehrere Dateien verketten oder die Ausgabe in neue Dateien umleiten.

Wie zeige ich Zeilennummern mit cat an?

Verwende cat -n dateiname. Dies nummeriert jede Zeile in der Ausgabe. Verwende stattdessen -b, um nur nicht-leere Zeilen zu nummerieren.

Wie füge ich Dateien unter Linux zusammen?

Führe aus: cat file1.txt file2.txt > combined.txt. Das kombiniert beide Dateien in combined.txt in der angegebenen Reihenfolge.

Wie unterscheidet sich cat von less oder more?

cat gibt die gesamte Datei auf einmal aus. less und more teilen die Ausgabe in Seiten auf, sodass du darin scrollen kannst. Verwende cat für kurze Dateien, less für lange.

Nach oben scrollen