Überblick
In einer Linux-Umgebung ist der cat-Befehl das am weitesten verbreitete Standardwerkzeug, um den Inhalt von Textdateien schnell anzuzeigen und zusammenzuführen. Über die einfache Dateiansicht hinaus betrachten wir in einer praktischen Ubuntu-Übung zentrale Optionen, die die Arbeitseffizienz maximieren – darunter Zeilennummerierung, Komprimierung von Leerzeilen und die Visualisierung von Sonderzeichen. Steigern Sie Ihre Terminal-Produktivität, indem Sie das unterschiedliche Verhalten der einzelnen Optionen und deren tatsächliche Terminal-Ausgaben direkt vergleichen.
1. Erstellen einer Beispiel-Textdatei und grundlegende Ansicht
Um die verschiedenen Optionen des cat-Befehls in der Praxis zu testen, erstellen wir eine Datei sample.txt, die aufeinanderfolgende Leerzeilen, Tabulatoren und nachgestellte Leerzeichen enthält.
![printf ‘First line\n\n\nSecond line with tab:\t[TAB]\nThird line with trailing space \n’ > sample.txt](/ubuntu/20261008_012749_4/captures/s01_c01_printf__First_line_n_n_nSecond_line_with_tab__t_TA.png)
Der cat-Befehl gibt den Inhalt der angegebenen Datei direkt auf dem Terminalbildschirm aus.
Wird er ohne Optionen ausgeführt, zeigt er den Originaltext der Datei unverändert an.
⚙️ [Wichtigste Optionen]
-n : Nummeriert alle Zeilen einschließlich der Leerzeilen am Zeilenanfang durch.-b : Nummeriert nur Zeilen, die nicht leer sind.-s : Komprimiert mehrere aufeinanderfolgende Leerzeilen zu einer einzigen Leerzeile.-E : Zeigt am Ende jeder Zeile ein $-Zeichen an, um den Zeilenumbruch zu kennzeichnen.-T : Zeigt an Stellen mit einem Tabulatorzeichen das Symbol ^I an, um es visuell hervorzuheben.

2. Vergleich der Optionen zur Zeilennummerierung (-n vs. -b)
Der Befehl cat -n sample.txt versieht jede Zeile der Datei mit einer Zeilennummer.
Dies ist nützlich, um die Gesamtstruktur und Position der Zeilen nachzuvollziehen – einschließlich leerer Zeilen ohne Text (Zeilen 2 und 3).

Der Befehl cat -b sample.txt nummeriert ausschließlich Zeilen, die nicht leer sind.
Leere Zeilen ohne Inhalt werden bei der Nummerierung übersprungen, sodass sich die Anzahl der tatsächlich vorhandenen Datenzeilen leicht ermitteln lässt.

3. Lesbarkeit verbessern durch Komprimierung aufeinanderfolgender Leerzeilen (-s)
Der Befehl cat -s sample.txt komprimiert mehrere aufeinanderfolgende Leerzeilen zu einer einzigen Leerzeile bei der Ausgabe.
Dadurch lassen sich unnötig lange Abstände reduzieren und die Lesbarkeit des gesamten Textes deutlich verbessern.

Der Befehl cat -ns sample.txt fasst aufeinanderfolgende Leerzeilen zu einer zusammen und nummeriert gleichzeitig alle Zeilen durch.
So lässt sich die Gesamtzahl der Zeilen im komprimierten Zustand sowie die Position des Textes auf einen Blick erfassen.

4. Unsichtbare Sonderzeichen, Zeilenumbrüche und Tabs visualisieren (-E, -T, -A)
Der Befehl cat -E sample.txt gibt am Ende jeder Zeile (an der Position des Zeilenumbruchs) ein $-Symbol aus.
Dies ist hilfreich, um unsichtbare Leerzeichen am Zeilenende (Trailing Spaces) oder unerwünschte Zeilenumbrüche auf intuitive Weise zu erkennen.

Der Befehl cat -T sample.txt ersetzt Tabulatoren auf dem Bildschirm durch das Zeichen ^I.
Dadurch lassen sich reguläre Leerzeichen und Tabulatoren klar voneinander unterscheiden, was bei der Fehlersuche in Einrückungen von Code- oder Konfigurationsdateien äußerst effektiv ist.

Der Befehl cat -A sample.txt visualisiert alle versteckten Steuerzeichen, Zeilenumbrüche und Tabulatoren.
Er verhält sich äquivalent zur Kombination -vET und zeigt sowohl Tabulatoren (^I) als auch Zeilenumbrüche ($) an, wodurch sich Fehler durch unsichtbare Zeichen in einem Schritt überprüfen lassen.

5. Mehrere Dateien zusammenführen und Dateien mit EOF erstellen
Für die Übung zum Zusammenführen von Dateien erstellen wir eine Datei header.txt mit einer Kopfzeile.

Der Befehl cat header.txt sample.txt > merged.txt verknüpft die Inhalte der beiden Dateien header.txt und sample.txt der Reihe nach und speichert das Ergebnis in einer neuen Datei namens merged.txt.
Dies eignet sich ideal, um mehrere Textdateien zusammenzuführen oder einem Dokument einen Header voranzustellen.

Der Befehl cat << 'EOF' > append_test.txt nutzt die Here-Document-Syntax, um mehrzeiligen Text bis zur Eingabe von EOF in die Datei append_test.txt zu schreiben.
Dies ist praktisch, um schnell mehrzeiligen Text direkt in der Shell-Umgebung in eine Datei zu schreiben, ohne einen separaten Editor öffnen zu müssen.

Der Befehl cat merged.txt append_test.txt hängt die Inhalte der zuvor erstellten Dateien merged.txt und append_test.txt nacheinander aneinander und gibt das Gesamtergebnis im Terminal aus.
Damit lässt sich auf einen Blick überprüfen, ob der Datenfluss und die Reihenfolge der zusammengeführten Inhalte stimmen.

Bisher haben wir die Grundlagen des Linux-Befehls cat sowie 5 wichtige Optionen für die Praxis samt deren Ausführungsergebnissen zusammenfassend betrachtet.
Nutzen Sie die passenden Optionen gezielt, um Dateien im Terminal noch effizienter zu prüfen und Ihren Workflow weiter zu optimieren.