Verwendung des cat-Befehls unter Linux (mit Beispielen)

Die Bedienung eines Linux-Computers unterscheidet sich grundlegend von der Nutzung von Windows oder macOS. Anwender haben Zugriff auf eine grafische Benutzeroberfläche (GUI) sowie eine Kommandozeilenschnittstelle (CLI). Während die GUI oft als die einfachere Methode zur Ausführung von Befehlen erscheint, bietet die CLI, oder das Terminal, erhebliche Vorteile. Durch das Beherrschen der grundlegenden Linux-Terminalbefehle können Aufgaben effizient und zügig erledigt werden. Einer der meistgenutzten Befehle in Linux ist der Befehl cat. Er ist standardmäßig in jeder Linux-Distribution als Teil des Coreutils-Pakets enthalten und die Syntax ist über alle Distributionen hinweg konsistent. In diesem Artikel werden wir anhand von konkreten Beispielen die vielfältigen Anwendungsmöglichkeiten des cat-Befehls aufzeigen.

Der cat-Befehl in Linux: Eine Erklärung (2023)

Bevor wir uns praktischen Anwendungsfällen zuwenden, ist es wichtig, den cat-Befehl, seine Syntax und die verfügbaren Optionen zu verstehen. Anschließend werden wir lernen, wie man den cat-Befehl effektiv einsetzt, um einzelne oder mehrere Dateien anzuzeigen, Dateien zu kombinieren, zu sortieren und vieles mehr.

Was genau ist der cat-Befehl in Linux?

Der cat-Befehl, kurz für „concatenate“ (verketten), ist ein essentielles Werkzeug in der Toolbox jedes Linux-Nutzers. Er wurde ursprünglich für das UNIX-Betriebssystem entwickelt und später für Linux und macOS adaptiert. Der Hauptzweck dieses Befehls liegt in der Dateiverwaltung, und er ermöglicht es Anwendern, neue Dateien zu erstellen, Dateiinhalte zu betrachten, Dateien zu überschreiben, zwei oder mehrere Dateien zu verbinden und vieles mehr.

Nutzung des cat-Befehls: Syntax & Optionen

Bevor wir uns mit konkreten Beispielen beschäftigen, betrachten wir die Syntax des cat-Befehls unter Linux. Sie ist einfach und leicht zu verstehen. Die Grundstruktur sieht vor, dass Sie je nach gewünschter Operation eine Option zusammen mit den Dateinamen angeben müssen.

cat [Optionen] [Dateiname(n)]

Hier sind einige der häufigsten Optionen, die mit dem cat-Befehl genutzt werden können:

Option Beschreibung
-n Zeilennummern für alle Zeilen anzeigen.
-T Tabulatorzeichen in der Datei als ^I darstellen.
-e Das Ende jeder Zeile durch ein $-Symbol markieren.
-s Mehrere aufeinanderfolgende Leerzeilen zu einer einzigen Leerzeile zusammenfassen.
-b Nur nicht-leere Zeilen nummerieren.

Anwendungsbeispiele für den cat-Befehl im Linux-Terminal

Anzeigen einer einzelnen Datei

Die häufigste Anwendung des cat-Befehls ist die Anzeige des Inhalts einer einzelnen Datei. Die grundlegende Syntax hierfür lautet:

cat [Option] [Dateiname]

Anzeigen mehrerer Dateien

Mit dem cat-Befehl lassen sich auch mehrere Dateien gleichzeitig anzeigen. Dazu werden die Dateinamen, durch Leerzeichen getrennt, ohne Kommas angegeben. Hier die entsprechende Syntax:

cat [Option] [Datei_1] [Datei_2] [Datei_3]

Anzeigen von Zeilennummern

Standardmäßig zeigt der cat-Befehl keine Zeilennummern an. Um Zeilennummern einzublenden, nutzen Sie die Option -n:

cat -n [Dateiname]

Erstellen einer neuen Datei mit dem cat-Befehl

Normalerweise werden neue Dateien mit dem touch-Befehl oder einem Texteditor erstellt. Der cat-Befehl kann diese Werkzeuge zwar nicht ersetzen, aber er kann für schnelle Dateierstellungen genutzt werden. Mit ihm können Sie eine neue Datei erzeugen und direkt Inhalte hinzufügen. Die Syntax hierfür lautet:

cat > [neue_Datei_name]

Das Zeichen > ist der sogenannte Überschreibungsoperator und wird verwendet, um eine Datei mit neuem Inhalt zu überschreiben. Da die Datei in diesem Fall leer ist, wird alles, was Sie eingeben, in die Datei geschrieben. Drücken Sie „ENTER“ und anschließend „STRG+d“ um die Eingabeaufforderung zu verlassen.

Im obigen Beispiel sehen Sie, dass der cat-Befehl die Datei „test1.txt“ erstellt und der Dateiinhalt durch die Ausgabe des zweiten cat-Befehls angezeigt wird.

Zusammenführen zweier Dateien in eine neue Datei

Mit folgender Syntax können Sie den cat-Befehl verwenden, um zwei Dateien zu einer einzigen zusammenzuführen. Der Anfügeoperator (>>) fügt den Inhalt der ersten Datei am Ende der zweiten Datei hinzu:

cat [Option] [Datei_1] >> [Datei_2]

Im obigen Beispiel wird der Inhalt von „test1.txt“ an das Ende von „test2.txt“ angefügt. Der neue Inhalt kann durch den zweiten cat-Befehl, der den Inhalt der zweiten Datei anzeigt, überprüft werden.

Kopieren des Inhalts einer Datei in eine andere

Sie können den Inhalt einer Datei auch in eine andere kopieren, indem Sie den cat-Befehl mit dem Überschreibungsoperator (>) nutzen. Hierbei wird der Inhalt von Datei_1 in Datei_2 kopiert und der ursprüngliche Inhalt von Datei_2 überschrieben:

cat [Datei_1] > [Datei_2]

Im obigen Beispiel wurde der Inhalt von „test2.txt“ mit dem Inhalt von „test1.txt“ überschrieben.

Unsichtbare Zeichen anzeigen

Standardmäßig werden Zeilenenden vom cat-Befehl nicht gesondert markiert. Die Option -E zeigt das Ende jeder Zeile mit einem $-Symbol an:

cat -E [Dateiname]

Um Tabulatoren anstelle von Leerzeichen zu kennzeichnen, nutzen Sie die Option -T:

cat -T [Dateiname]

Tabulatorzeichen werden dann als ^I dargestellt. Um alle unsichtbaren Zeichen sichtbar zu machen, verwenden Sie die Option -v:

cat -v [Dateiname]

Wie im obigen Beispiel zu sehen, sind alle Zeilenenden mit einem $-Symbol und Tabulatoren mit ^I markiert.

Mehrere Leerzeilen zu einer zusammenfassen

Um aufeinanderfolgende Leerzeilen zu einer einzigen zu reduzieren, nutzen Sie die Option -s:

cat -s [Dateiname]

Anzeigen von Dateiinhalten in umgekehrter Reihenfolge (tac-Befehl)

Der cat-Befehl zeigt Dateiinhalte in der Regel von oben nach unten an. Beim Arbeiten mit Live-Daten oder großen Protokolldateien werden neue Einträge jedoch oft am Ende der Datei hinzugefügt. In solchen Fällen kann der tac-Befehl verwendet werden, eine alternative Version des cat-Befehls, der die Inhalte in umgekehrter Reihenfolge ausgibt. Die Syntax hierfür lautet:

tac [Dateiname]

Sortieren der Ausgabeinhalte von Dateien

In Linux können Sie zwei oder mehr Befehle mit Hilfe von Shell-Umleitungen kombinieren. Die Ausgabe eines Befehls wird dann als Eingabe für den nächsten Befehl verwendet. Dabei werden der Überschreibungsoperator (>) und der Anfügeoperator (>>) genutzt, die als E/A-Shell-Umleitungen bezeichnet werden.

Darüber hinaus gibt es die sogenannte Shell-Piping, die es ermöglicht, die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu nutzen und somit Befehle zu verketten. Der Pipe-Operator (|) erstellt eine solche „Pipeline“.

Der cat-Befehl gibt Dateiinhalte standardmäßig in der Reihenfolge aus, in der sie in der Datei gespeichert sind. Der sort-Befehl hingegen sortiert die Ausgabe in aufsteigender oder absteigender Reihenfolge. Wenn Sie die Ausgabe des cat-Befehls mit dem Pipe-Operator an den sort-Befehl weiterleiten, erhalten Sie eine sortierte Ausgabe. Die Syntax für diese Kombination lautet:

cat [Optionen] [Dateiname] | sort

Im obigen Beispiel leitet der cat-Befehl den Inhalt von „test3.txt“ an den sort-Befehl weiter, welcher die Zeilen alphabetisch sortiert und die sortierte Ausgabe anzeigt.

Anzeigen großer Dateien mit dem cat-Befehl

Bei sehr großen Dateien kann selbst ein leistungsstarkes System Schwierigkeiten haben, den Inhalt flüssig anzuzeigen. Für solche Fälle empfiehlt es sich, den less-Befehl in Kombination mit dem cat-Befehl und dem Pipe-Operator zu verwenden. Der less-Befehl lädt nur einen Teil der Datei und schont somit Ressourcen. Sie können mit den Pfeiltasten auf- und abwärts scrollen. Die Syntax lautet:

cat [große_Datei_name] | less

Wie im obigen Beispiel zu sehen, wird der Dateiinhalt durch die Kombination der Befehle nicht direkt in der Kommandozeile, sondern in einer neuen Terminalansicht angezeigt. Sie können mit den Pfeiltasten navigieren. „GG“ springt zum Ende der Datei, „gg“ zum Anfang. Zum Verlassen der Ansicht drücken Sie „q“.

cat-Befehl in der Praxis

Der cat-Befehl, zusammen mit dem tac-Befehl, vereinfacht die Dateiverwaltung für Benutzer, die mit dem Linux-Terminal vertraut sind. Mit verschiedenen Optionen und Operatoren kann der cat-Befehl die tägliche Arbeit erheblich erleichtern. Dieser Artikel hat praktische Beispiele für die Verwendung des cat-Befehls zur Erstellung, zum Anhängen und zur Anzeige von Dateien in Linux vorgestellt. Um mehr über den cat-Befehl zu erfahren, besuchen Sie die offizielle Manpage. Bei Fragen oder Problemen können Sie gerne die Kommentarfunktion nutzen.