Der Befehl cat (kurz für concatenate) zeigt den Inhalt von Dateien an und kann mehrere Dateien zu einer zusammenfassen. Ohne Dateiangabe oder mit - als Argument liest cat von der Standardeingabe.
Syntax des cat-Befehls
Die allgemeine Syntax lautet:
cat [OPTIONEN] [DATEI]...
OPTIONEN- Flags, die das Ausgabeverhalten steuern.DATEI- Eine oder mehrere Eingabedateien.
Dateiinhalt anzeigen
Die häufigste Verwendung von cat ist das Ausgeben von Dateiinhalten im Terminal:
cat /etc/os-release
Bei kurzen Dateien ist dies praktisch. Für längere Dateien eignen sich less oder more besser, da sie eine seitenweise Navigation ermöglichen.
Mehrere Dateien verketten
Gibst du mehrere Dateien an, gibt cat deren Inhalte nacheinander aus:
cat kopfzeile.txt inhalt.txt fusszeile.txt
Mit dem Umleitungsoperator > schreibst du die verkettete Ausgabe in eine neue Datei:
cat teil1.txt teil2.txt teil3.txt > komplett.txt
Um Inhalte an eine bestehende Datei anzuhängen, verwende >>:
cat neue-eintraege.txt >> protokoll.txt
Zeilennummern ausgeben
Die Option -n nummeriert alle Zeilen:
cat -n /etc/hosts
Ausgabe:
1 127.0.0.1 localhost
2 127.0.1.1 meinrechner
3
4 # IPv6
5 ::1 localhost
Mit -b werden nur nicht-leere Zeilen nummeriert. Das ist nützlich bei Dateien mit vielen Leerzeilen:
cat -b skript.sh
Leere Zeilen reduzieren
Bei Dateien mit mehreren aufeinanderfolgenden Leerzeilen fasst -s diese zu einer einzelnen zusammen:
cat -s formatiert.txt
Unsichtbare Zeichen sichtbar machen
Beim Debuggen von Konfigurationsdateien oder Skripten hilft es, unsichtbare Zeichen anzuzeigen.
Tabulatoren anzeigen
Die Option -T stellt Tabulatoren als ^I dar:
cat -T makefile
So erkennst du, ob Einrückungen aus Tabulatoren oder Leerzeichen bestehen - bei Makefiles ein häufiger Fehlerquell.
Zeilenenden markieren
Mit -E erscheint am Ende jeder Zeile ein $:
cat -E config.ini
Das zeigt nachfolgende Leerzeichen oder unterschiedliche Zeilenumbrüche (etwa bei Dateien aus Windows).
Alle Sonderzeichen anzeigen
Die Option -A kombiniert -E und -T und zeigt zusätzlich nicht-druckbare Zeichen:
cat -A verdaechtig.txt
Dateien erstellen
Für kurze Textdateien ist cat schneller als ein Editor. Leite die Standardeingabe in eine Datei um:
cat > notiz.txt
Gib den gewünschten Text ein und beende mit Strg+D. Die Datei wird gespeichert.
Zum Anhängen an eine bestehende Datei:
cat >> notiz.txt
Datei kopieren
Du kannst cat auch zum Kopieren verwenden:
cat original.txt > kopie.txt
Der cp-Befehl ist dafür allerdings die bessere Wahl, da er Metadaten wie Berechtigungen erhält.
Zusammenfassung
Der cat-Befehl gibt Dateiinhalte aus, verkettet mehrere Dateien und erstellt neue Textdateien. Für die Fehlersuche in Konfigurationsdateien sind die Optionen zur Anzeige unsichtbarer Zeichen (-A, -T, -E) besonders hilfreich.