Cum să utilizați comenzile „cat” și „tac” cu exemple în Linux
Acest articol face parte din seria noastră de trucuri și sfaturi pentru Linux, în acest articol vom acoperi câteva modalități de utilizare de bază a comenzii cat (comandă cea mai frecvent utilizată în Linux) și a tac ( reverse of cat command – tipăriți fișierele în ordine inversă) cu câteva exemple practice.
Citiți și: 13 exemple utile de comenzi „cat” în Linux
Utilizarea de bază a comenzii Cat în Linux
Comanda Cat, acronim pentru Concatenate, este una dintre cele mai utilizate comenzi în sistemele *nix. Cea mai simplă utilizare a comenzii este de a citi fișierele și de a le afișa în stdout, adică de a afișa conținutul fișierelor pe terminalul dvs.
cat file.txt
O altă utilizare a comenzii cat este de a citi sau de a combina mai multe fișiere împreună și de a trimite rezultatul către un monitor, așa cum este ilustrat în exemplele de mai jos.
cat file1.txt file2.txt file3.txt
Comanda poate fi, de asemenea, utilizată pentru a concatena (uni) mai multe fișiere într-un singur fișier folosind operatorul de redirecționare Linux “> ”
.
cat file1.txt file2.txt file3.txt > file-all.txt
Folosind redirectorul de adăugare, puteți adăuga conținutul unui fișier nou în partea de jos a file-all.txt
cu următoarea sintaxă.
cat file4.txt >> file-all.txt
Comanda cat poate fi folosită pentru a copia conținutul fișierului într-un fișier nou. Noul fișier poate fi redenumit arbitrar. De exemplu, copiați fișierul din locația curentă în directorul /tmp/
.
cat file1.txt > /tmp/file1.txt
Copiați fișierul din locația curentă în directorul /tmp/
și schimbați-i numele.
cat file1.txt > /tmp/newfile.cfg
O utilizare mai mică a comenzii cat este crearea unui fișier nou cu sintaxa de mai jos. Când ați terminat editarea fișierului, apăsați pe CTRL+D
pentru a salva și a ieși din noul fișier.
cat > new_file.txt
Pentru a numerota toate liniile de ieșire ale unui fișier, inclusiv liniile goale, utilizați comutatorul -n
.
cat -n file-all.txt
Pentru a afișa numai numărul fiecărei linii nevide, utilizați comutatorul -b
.
cat -b file-all.txt
Doriți să aflați mai multe despre comanda Linux cat? apoi citiți articolul nostru despre 13 exemple de comenzi utile „pisica” în Linux.
Aflați cum să utilizați comanda Tac în Linux
Pe de altă parte, o comandă mai puțin cunoscută și mai puțin utilizată în sistemele *nix este comanda tac
. Tac este practic versiunea inversă a comenzii cat
(scrisă, de asemenea, invers) care tipărește fiecare linie a unui fișier începând de la linia de jos și terminând pe linia de sus la standardul mașinii dvs. ieșire.
tac file-all.txt
Una dintre cele mai importante opțiuni ale comenzii este reprezentată de comutatorul -s
, care separă conținutul fișierului pe baza unui șir sau a unui cuvânt cheie din fișier.
tac file-all.txt --separator "two"
În continuare, cea mai importantă utilizare a comenzii tac este că poate oferi un mare ajutor pentru a depana fișierele jurnal, inversând ordinea cronologică a conținutului jurnalului.
tac /var/log/auth.log
Or to display the last lines
tail /var/log/auth.log | tac
Ieșire eșantion
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
...
La fel ca și comanda cat
, tac
face o treabă excelentă în manipularea fișierelor text, dar ar trebui evitată în alte tipuri de fișiere, în special în fișierele binare sau în fișierele unde prima linie indică programul care îl va rula.