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.