Website-Suche

Verwendung der Befehle „cat“ und „tac“ anhand von Beispielen unter Linux


Dieser Artikel ist Teil unserer Reihe „Linux-Tricks und -Tipps“. In diesem Artikel behandeln wir einige grundlegende Verwendungszwecke des Befehls cat (der am häufigsten verwendete Befehl unter Linux) und des Befehls tac ( Umkehrung des Befehls cat – Dateien in umgekehrter Reihenfolge drucken) mit einigen praktischen Beispielen.

Lesen Sie auch: 13 nützliche „cat“-Befehlsbeispiele unter Linux

Grundlegende Verwendung von Cat Command unter Linux

Der Befehl Cat, Akronym für Concatenate, ist einer der am häufigsten verwendeten Befehle in *nix-Systemen. Die einfachste Verwendung des Befehls besteht darin, Dateien zu lesen und sie auf stdout anzuzeigen, d. h. den Inhalt von Dateien auf Ihrem Terminal anzuzeigen.

cat file.txt

Eine weitere Verwendung des Befehls cat besteht darin, mehrere Dateien zu lesen oder zu kombinieren und die Ausgabe an einen Monitor zu senden, wie in den folgenden Beispielen dargestellt.

cat file1.txt file2.txt file3.txt

Der Befehl kann auch verwendet werden, um mehrere Dateien mithilfe des Linux-Umleitungsoperators “> ” zu einer einzigen Datei zu verketten (zu verbinden).

cat file1.txt file2.txt file3.txt > file-all.txt

Mithilfe des Append-Redirectors können Sie den Inhalt einer neuen Datei mit der folgenden Syntax am Ende der Datei file-all.txt hinzufügen.

cat file4.txt >> file-all.txt

Mit dem Befehl cat können Sie den Inhalt einer Datei in eine neue Datei kopieren. Die neue Datei kann beliebig umbenannt werden. Kopieren Sie die Datei beispielsweise vom aktuellen Speicherort in das Verzeichnis /tmp/.

cat file1.txt > /tmp/file1.txt 

Kopieren Sie die Datei vom aktuellen Speicherort in das Verzeichnis /tmp/ und ändern Sie ihren Namen.

cat file1.txt > /tmp/newfile.cfg

Eine seltenere Verwendung des Befehls cat besteht darin, eine neue Datei mit der folgenden Syntax zu erstellen. Wenn Sie mit der Bearbeitung der Datei fertig sind, drücken Sie STRG+D, um die neue Datei zu speichern und zu schließen.

cat > new_file.txt

Um alle Ausgabezeilen einer Datei, einschließlich leerer Zeilen, zu nummerieren, verwenden Sie den Schalter -n.

cat -n file-all.txt

Um nur die Nummer jeder nicht leeren Zeile anzuzeigen, verwenden Sie den Schalter -b.

cat -b file-all.txt

Möchten Sie mehr über den Linux-Cat-Befehl erfahren? Dann lesen Sie unseren Artikel über 13 nützliche „cat“-Befehlsbeispiele unter Linux.

Erfahren Sie, wie Sie Tac Command unter Linux verwenden

Andererseits ist der Befehl tac ein weniger bekannter und weniger verwendeter Befehl in *nix-Systemen. Tac ist praktisch die umgekehrte Version des Befehls cat (auch rückwärts geschrieben), der jede Zeile einer Datei, beginnend in der unteren Zeile und endend in der obersten Zeile, gemäß Ihrem Maschinenstandard druckt Ausgabe.

tac file-all.txt

Eine der wichtigsten Optionen des Befehls wird durch den Schalter -s dargestellt, der den Inhalt der Datei anhand einer Zeichenfolge oder eines Schlüsselworts von der Datei trennt.

tac file-all.txt --separator "two"

Als nächstes besteht die wichtigste Verwendung des Befehls tac darin, dass er eine große Hilfe beim Debuggen von Protokolldateien sein kann, indem er die chronologische Reihenfolge der Protokollinhalte umkehrt.

tac /var/log/auth.log

Or to display the last lines

tail /var/log/auth.log | tac
Beispielausgabe
tecmint@tecmint ~ $ tac /var/log/auth.log
pr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr  6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr  6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr  6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr  6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr  6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...

Genauso wie der Befehl cat leistet tac hervorragende Arbeit bei der Bearbeitung von Textdateien, sollte jedoch bei anderen Dateitypen vermieden werden, insbesondere bei Binärdateien oder bei Dateien mit der ersten Zeile bezeichnet das Programm, das es ausführen wird.