Dieser Artikel ist Teil unserer Serie Linux Tricks und Tipps, in diesem Artikel werden wir einige grundlegende Verwendungen des cat-Befehls (der am häufigsten verwendete Befehl in Linux) und tac (umgekehrter cat-Befehl – Dateien in umgekehrter Reihenfolge anzeigen) mit einigen praktischen Beispielen behandeln.
Weitere Artikel: 13 nützliche ‚cat‘-Befehlsbeispiele in Linux
Grundlegende Verwendung des Cat-Befehls in Linux
Der Befehl Concatenate, Abkürzung für Concatenate, ist einer der am häufigsten verwendeten Befehle in *nix-Systemen. Die grundlegendste Verwendung des Befehls besteht darin, Dateien zu lesen und ihren Inhalt auf stdout anzuzeigen, was bedeutet, den Inhalt von Dateien auf Ihrem Terminal anzuzeigen.
# cat file.txt

Eine weitere Verwendung des cat-Befehls besteht darin, mehrere Dateien zu lesen oder zu kombinieren und die Ausgabe auf einem Monitor anzuzeigen, wie in den folgenden Beispielen dargestellt.
# cat file1.txt file2.txt file3.txt

Der Befehl kann auch verwendet werden, um (mehrere) Dateien mit dem Linux-Umleitungsoperator ">"
in eine einzige Datei zu concatenieren (zu verbinden).
# cat file1.txt file2.txt file3.txt > file-all.txt

Mit dem Anhänge-Umleiter können Sie den Inhalt einer neuen Datei am Ende der file-all.txt
hinzufügen, wie in der folgenden Syntax gezeigt.
# cat file4.txt >> file-all.txt

Der cat-Befehl kann verwendet werden, um den Inhalt einer Datei in eine neue Datei zu kopieren. Die neue Datei kann beliebig umbenannt werden. Zum Beispiel, kopieren Sie die Datei 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

A less usage of the cat command is to create a new file with the below syntax. When finished editing the file hit CTRL+D
to save and exit the new file.
# cat > new_file.txt

Um alle Ausgabenzeilen einer Datei zu nummerieren, einschließlich leerer Zeilen, verwenden Sie den Schalter -n
.
# cat -n file-all.txt

Verwenden Sie den Schalter -b
, um nur die Nummer jeder nicht leeren Zeile anzuzeigen.
# cat -b file-all.txt

Möchten Sie mehr über den Linux-Befehl cat erfahren? Dann lesen Sie unseren Artikel über 13 nützliche Beispiele für den ‚cat‘-Befehl in Linux.
Erfahren Sie, wie Sie den Tac-Befehl in Linux verwenden
Andererseits ist ein weniger bekannter und weniger verwendeter Befehl in *nix-Systemen der tac
-Befehl. Tac ist praktisch die umgekehrte Version des cat
-Befehls (auch rückwärts geschrieben), der jede Zeile einer Datei von der untersten Zeile bis zur obersten Zeile auf Ihrem Maschinenstandardausgabe ausdruckt.
# tac file-all.txt

Eine der wichtigsten Optionen des Befehls wird durch den Schalter -s
dargestellt, der den Inhalt der Datei basierend auf einem String oder einem Schlüsselwort aus der Datei trennt.
# tac file-all.txt --separator "two"

Nächstes ist die wichtigste Verwendung des tac-Befehls, dass er eine große Hilfe beim Debuggen von Protokolldateien bieten 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
Muster-Ausgabe
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 ...
Wie der Befehl cat
erledigt auch tac
ausgezeichnete Arbeit beim Bearbeiten von Textdateien, jedoch sollte er bei anderen Dateitypen vermieden werden, insbesondere bei Binärdateien oder Dateien, bei denen die erste Zeile das Programm angibt, das sie ausführen wird.
Source:
https://www.tecmint.com/learn-linux-cat-command-and-tac-command/