Wéi benotzt Dir Cat an Tac Kommandoen mat Beispiller am Linux


Dësen Artikel ass en Deel vun eiser Linux Tricks an Tipps Serie, an dësem Artikel wäerte mir e puer Basisnotzung vum Katzekommando (meeschtens benotzt Kommando am Linux) an Tac (ëmgedréint vum Katzekommando - Drécken Dateien an ëmgedréint Uerdnung) mat e puer prakteschen Cover Beispiller.

Basis Benotzung vu Cat Command a Linux

Cat Kommando, Akronym fir Concatenate, ass ee vun de meescht benotzte Kommandoen an *nix Systemer. Déi meescht Basisnotzung vum Kommando ass Dateien ze liesen an se op stdout ze weisen, dat heescht den Inhalt vun de Dateien op Ärem Terminal ze weisen.

# cat file.txt

Eng aner Notzung vum Cat Kommando ass fir verschidde Dateien zesummen ze liesen oder ze kombinéieren an d'Ausgab op e Monitor ze schécken wéi an de Beispiller hei ënnen illustréiert.

# cat file1.txt file2.txt file3.txt

De Kommando kann och benotzt ginn fir verschidde Dateien an eng eenzeg Datei mat dem \> Linux Viruleedungsoperateur ze verbannen (ze verbannen).

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

Andeems Dir den Append Redirector benotzt, kënnt Dir den Inhalt vun enger neier Datei um Enn vum file-all.txt mat der folgender Syntax addéieren.

# cat file4.txt >> file-all.txt

De Kaz Kommando kann benotzt ginn fir den Inhalt vun der Datei op eng nei Datei ze kopéieren. Déi nei Datei kann arbiträr ëmbenannt ginn. Zum Beispill kopéiert d'Datei vun der aktueller Plaz an den /tmp/ Verzeichnis.

# cat file1.txt > /tmp/file1.txt 

Kopéiert d'Datei vun der aktueller Plaz an den /tmp/ Verzeichnis a ännert säin Numm.

# cat file1.txt > /tmp/newfile.cfg

Eng manner Notzung vum Cat Kommando ass eng nei Datei mat der Syntax hei ënnen ze kreéieren. Wann d'Ännere fäerdeg ass, dréckt CTRL+D fir déi nei Datei ze späicheren an auszeschléissen.

# cat > new_file.txt

Fir all Ausgangslinne vun enger Datei ze nummeréieren, och eidel Zeilen, benotzt den -n Schalter.

# cat -n file-all.txt

Fir nëmmen d'Zuel vun all net-eidel Zeil ze weisen, benotzt den -b Schalter.

# cat -b file-all.txt

Wëllt Dir méi iwwer Linux Cat Kommando léieren? liest dann eisen Artikel iwwer 13 Nëtzlech 'cat' Kommando Beispiller am Linux.

Léiert wéi Dir Tac Command an Linux benotzt

Op der anerer Säit ass e manner bekannten a manner gebrauchte Kommando an *nix Systemer tac Kommando. Tac ass praktesch déi ëmgedréint Versioun vum Kommando cat (och no hannen geschriwwen) déi all Zeil vun enger Datei dréckt vun der ënneschter Linn un an op der ieweschter Linn op Är Maschinn Standardoutput fäerdeg ass.

# tac file-all.txt

Eng vun de wichtegsten Optiounen vum Kommando gëtt duerch den -s Schalter vertrueden, deen den Inhalt vun der Datei op Basis vun enger String oder engem Schlësselwuert vun der Datei trennt.

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

Als nächst ass déi wichtegst Notzung vum Tac Kommando datt et eng grouss Hëllef ubitt fir Logdateien ze debuggen, déi chronologesch Uerdnung vum Loginhalt ëmgedréit.

$ tac /var/log/auth.log

Or to display the last lines

$ tail /var/log/auth.log | tac
[email  ~ $ 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
....
[email  ~ $ 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
...

Selwecht wéi cat Kommando, tac mécht eng exzellent Aarbecht fir Textdateien ze manipuléieren, awer et sollt vermeit ginn an aner Aarte vu Dateien, besonnesch binär Dateien oder op Dateien wou déi éischt Zeil bezeechent de Programm deen et leeft.