Kako uporabljati ukaze cat in tac s primeri v Linuxu


Ta članek je del naše serije Trikov in nasvetov za Linux, v tem članku bomo obravnavali nekaj osnovnih načinov uporabe ukaza mačka (najpogosteje uporabljeni ukaz v Linuxu) in tac (reverz ukaza mačke - tiskanje datotek v obratnem vrstnem redu) z nekaj praktičnimi primeri.

Osnovna uporaba ukaza Cat v Linuxu

Cat ukaz, kratica za Concatenate, je eden najpogosteje uporabljenih ukazov v sistemih * nix. Najosnovnejša uporaba ukaza je branje datotek in njihovo prikazovanje v stdout, kar pomeni, da se vsebina datotek prikaže na vašem terminalu.

# cat file.txt

Druga uporaba ukaza cat je branje ali kombiniranje več datotek in pošiljanje izhoda monitorju, kot je prikazano v spodnjih primerih.

# cat file1.txt file2.txt file3.txt

Ukaz lahko uporabite tudi za povezovanje (združevanje) več datotek v eno samo datoteko s pomočjo operaterja \">” Linux preusmeritve.

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

Z uporabo preusmerjevalnika append lahko dodate vsebino nove datoteke na dno file-all.txt z naslednjo sintakso.

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

Ukaz cat lahko uporabite za kopiranje vsebine datoteke v novo datoteko. Novo datoteko lahko preimenujemo poljubno. Datoteko na primer kopirajte s trenutne lokacije v imenik /tmp/.

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

Kopirajte datoteko s trenutne lokacije v imenik /tmp/ in spremenite njeno ime.

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

Manj uporabe ukaza cat je ustvariti novo datoteko s spodnjo sintakso. Ko končate z urejanjem datoteke, pritisnite CTRL + D , da shranite in zaprete novo datoteko.

# cat > new_file.txt

Če želite oštevilčiti vse izhodne vrstice datoteke, vključno s praznimi vrsticami, uporabite stikalo -n .

# cat -n file-all.txt

Če želite prikazati samo število vsake neprazne vrstice, uporabite stikalo -b .

# cat -b file-all.txt

Bi radi izvedeli več o ukazu mačka Linux? nato preberite naš članek o 13 uporabnih primerih mačjih ukazov v Linuxu.

Naučite se uporabljati ukaz Tac v Linuxu

Po drugi strani pa je manj znan in manj uporabljen ukaz v sistemih * nix tac ukaz. Tac je praktično obratna različica ukaza cat (tudi črkovanje nazaj), ki natisne vsako vrstico datoteke, začenši od spodnje vrstice do končne zgornje vrstice, na standardni izhod vašega stroja.

# tac file-all.txt

Eno najpomembnejših možnosti ukaza predstavlja stikalo -s , ki loči vsebino datoteke na podlagi niza ali ključne besede od datoteke.

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

Nato je najpomembnejša uporaba ukaza tac ta, da lahko nudi veliko pomoč pri odpravljanju napak v dnevniških datotekah in spreminja kronološki vrstni red vsebine dnevnika.

$ 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
...

Enako kot ukaz cat , tudi tac odlično deluje pri manipulaciji z besedilnimi datotekami, vendar se mu je treba izogibati pri drugih vrstah datotek, zlasti binarnih datotekah ali datotekah, kjer je prva vrstica označuje program, ki ga bo zagnal.