Cum să utilizați comenzile Linux Cat (cu exemple)

În orice sistem de operare, utilizatorii interacționează cu diverse fișiere, executând acțiuni fundamentale precum crearea, ștergerea sau accesarea conținutului acestora. Linux nu face excepție de la această regulă.

Deși interacțiunea cu fișierele se poate realiza și prin interfața grafică a unui sistem Linux, majoritatea utilizatorilor preferă să comunice cu sistemul direct prin intermediul terminalului.

În acest scop, Linux oferă o serie de comenzi ce permit utilizatorilor să gestioneze fișierele direct din terminal. Un exemplu elocvent este comanda `cat`.

Conform paginilor de manual Linux, comanda `cat` este destinată concatenării fișierelor și afișării conținutului acestora în fluxul standard de ieșire. Manualele Linux, sub forma unor fișiere de documentație, au scopul de a oferi utilizatorilor informații despre comenzile disponibile și modul lor de utilizare.

Pentru a accesa pagina de manual a unei comenzi Linux, se folosește sintaxa `man `. Spre exemplu, pentru a vizualiza manualul comenzii `cat`, se va executa comanda:

man cat

Utilizările Comenzii `cat`

Așa cum s-a menționat anterior, `cat` poate fi utilizată pentru a afișa conținutul unui fișier direct pe ecran. O altă funcționalitate importantă este concatenarea fișierelor, care presupune afișarea conținutului mai multor fișiere în succesiune. Practic, dacă se oferă mai multe fișiere ca argumente, `cat` va combina conținutul acestora și îl va prezenta pe ecran.

Simplificând, comanda `cat` va reuni conținutul mai multor fișiere și îl va trimite către ecran. Este important de reținut că, în urma acestei operații, nu se creează niciun fișier nou, iar fișierele originale folosite ca argumente rămân nealterate.

Comanda `cat` este adesea folosită și în contextul redirecționării. Redirecționarea se referă la posibilitatea utilizatorului de a schimba sursa intrării standard, precum și destinația ieșirii standard și a erorilor standard. Aceste fluxuri sunt canalele de comunicare standard în Linux.

În mod implicit, intrarea standard provine de la tastatură, iar ieșirea standard și erorile standard sunt direcționate către ecran.

Prin urmare, prin redirecționare, în loc să primim intrarea de la tastatură, putem utiliza ca sursă un fișier sau o altă entitate. Similar, în loc de a afișa ieșirea standard și erorile standard pe ecran, le putem direcționa către un fișier.

Sintaxa Comenzii `cat`

Sintaxa comenzii `cat` este următoarea:

cat [OPTION]... [FILE]...

În paginile de manual Linux, elementele incluse între paranteze drepte sunt opționale. Prin urmare, în sintaxa de mai sus, folosirea unei `OPTION` sau a unui `FILE` ca argument nu este obligatorie. Comanda `cat` poate funcționa cu ambele, cu una dintre ele sau fără niciuna.

Simbolul cu puncte de suspensie (…) indică faptul că se permite folosirea unuia sau mai multor operanzi sau argumente. Astfel, `cat` poate primi una sau mai multe `OPTION`-uri sau `FILE`-uri.

`FILE` reprezintă fișierele al căror conținut dorim să-l afișeze comanda `cat`. `OPTION` reprezintă opțiuni ce pot fi adăugate pentru a modifica comportamentul comenzii. Mai jos este o listă a opțiunilor care pot fi utilizate cu comanda `cat`:

Comanda `cat` procesează fișierul (sau fișierele) specificate și transmite conținutul lor către ieșirea standard, care în mod normal este fereastra terminalului. În cazul furnizării mai multor fișiere, conținutul lor este concatenat și apoi afișat în terminal.

Comportamentul `cat` poate varia în funcție de opțiunile transmise. De exemplu, utilizarea opțiunii `-n` va determina ca `cat` să numere toate liniile de ieșire. În funcție de necesități, se poate utiliza oricare dintre opțiunile disponibile.

Cum să Utilizați Comanda `cat`

Pentru a utiliza comanda `cat`, se introduce pur și simplu comanda urmată de numele fișierului (sau fișierelor) pe care dorim să le concatenăm sau să le citim. De exemplu, pentru a afișa conținutul fișierului `rainbow.txt`, se va executa comanda:

cat rainbow.txt

Se pot adăuga opțiuni pentru a modifica comportamentul comenzii. De pildă, pentru a numerota liniile de ieșire se poate folosi opțiunea `-n`. Pentru exemplul de mai sus, am numerota liniile executând:

cat -n rainbow.txt

Mai jos sunt prezentate rezultatele celor două comenzi:

Pentru a combina opțiuni, le putem scrie una după alta sau le putem separa prin spații. Ambele abordări sunt valide. Opțiunea `-E`, prezentată mai jos, se folosește pentru a adăuga un simbol dolar ($) la finalul liniilor de ieșire.

Această funcție poate fi utilă în cazul afișării unor sume monetare. Mai jos sunt prezentate diferite modalități de combinare a opțiunilor:

Pentru a concatena și afișa mai multe fișiere, se scriu numele acestora unul după altul, separate prin spații. Pentru a concatena fișierele `rainbow.txt` și `primary.txt`, se va executa comanda:

cat rainbow.txt primary.txt

Rezultatul comenzii este prezentat mai jos:

Fișierele `rainbow.txt` și `primary.txt` rămân neschimbate după această operațiune. Rețineți că ordinea fișierelor în comandă determină ordinea afișării conținutului. De asemenea, se pot folosi opțiuni și în cazul concatenării mai multor fișiere, așa cum este ilustrat mai jos:

Un aspect important de reținut este că, în lipsa unui fișier specificat ca argument, sau dacă se folosește un caracter minus (-), comanda `cat` va citi date de la intrarea standard (tastatura).

În acest caz, `cat` va afișa pur și simplu orice este introdus de utilizator prin tastatură. Pentru a observa acest comportament, executați comanda:

cat

Comanda va afișa un cursor intermitent, așteptând date de la tastatură. Introduceți orice text, apoi apăsați Enter. Textul introdus va fi trimis către ieșirea standard, după cum se vede mai jos:

Pentru a opri comanda, apăsați CTRL + C.

Comanda `cat` poate fi utilizată și pentru a concatena și afișa conținutul tuturor fișierelor de un anumit tip dintr-un director. Acest lucru se realizează folosind caracterul wildcard asterisc (*).

cat *.txt

De exemplu, pentru a afișa conținutul tuturor fișierelor text (.txt) dintr-un director, se va executa codul de mai jos:

Rezultatul comenzii este prezentat mai jos:

Exemple de folosire a comenzii `cat`

Pe lângă utilizările de bază, funcționalitatea comenzii `cat` poate fi extinsă prin redirecționare. Așa cum am menționat anterior, comanda `cat` afișează, implicit, rezultatul în terminal.

Cu ajutorul redirecționării, putem trimite ieșirea către un alt fișier în loc să o afișăm pe ecran.

Operatorul de redirecționare a ieșirii în Linux este simbolul mai mare decât (>, cunoscut și ca „chevron”).

cat rainbow.txt

De exemplu, dacă executăm linia:

Conținutul `rainbow.txt` va fi afișat pe ecran.

cat colors.txt > rainbow.txt

Totuși, dacă executăm:

Conținutul `rainbow.txt` nu va fi afișat pe ecran. În schimb, va fi redirecționat și salvat în fișierul `colors.txt`. Acesta poate fi un mod excelent de a copia conținut dintr-un fișier în altul.

Redirecționarea ieșirii în Linux va suprascrie implicit conținutul fișierului de destinație. Astfel, în exemplul de mai sus, tot conținutul din `rainbow.txt` va fi înlocuit cu cel din `colors.txt`. Pentru a păstra conținutul existent și a adăuga noul conținut, se folosește operatorul `>>` în loc de `>`.

Observați mai jos că `colors.txt` include acum culorile care erau prezente în `rainbows.txt`, după redirecționarea ieșirii din `rainbows.txt` către `colors.txt` folosind `>>`.

Pentru a extinde și mai mult funcționalitatea lui `cat`, putem combina redirecționarea cu modul implicit de citire de la intrarea standard (în lipsa unui fișier argument), pentru a crea fișiere și a le scrie conținut.

cat > dark.txt

Dacă executăm codul de mai jos:

Vom redirecționa ieșirea către `dark.txt`. Deoarece nu am specificat un fișier al cărui conținut să fie redirecționat, `cat` va aștepta introducere de la tastatură.

Astfel, vom introduce textul dorit, vom apăsa Enter pentru a trece la o linie nouă, iar apoi CTRL + D pentru a salva conținutul în fișierul de destinație (`dark.txt`).

Datorită redirecționării către un fișier inexistent, `dark.txt` va fi creat automat și conținutul introdus de la tastatură va fi salvat în el. În acest mod, putem folosi `cat` pentru a crea fișiere și a le scrie conținut în același timp.

Rezultatul operației este prezentat mai jos:

cat >> dark.txt

Comanda `cat` poate fi folosită și pentru a adăuga text la sfârșitul unui fișier. Folosind `dark.txt`, putem adăuga mai multe culori executând:

Apoi, se pot adăuga informații suplimentare prin tastatură și apăsând CTRL + D pentru a salva și adăuga noul conținut la `dark.txt`, după cum se vede mai jos:

cat file1 file2 file3 > file4

Comanda `cat` poate fi utilizată și pentru a concatena mai multe fișiere într-un singur fișier. Sintaxa unei astfel de operații este prezentată mai jos:

Conținutul `file1`, `file2` și `file3` va fi concatenat și scris în `file4`. Se poate folosi și `>>` în cazul în care nu se dorește înlocuirea conținutului din `file4`. Dacă `file4` nu există, acesta va fi creat automat.

Un exemplu în acest sens este prezentat mai jos:

cat colors.txt primary.txt > allColors.txt

Pentru a scrie conținutul `colors.txt` și `primary.txt` în `allColors.txt`, executăm:

cat primary.txt >> colors.txt

De asemenea, putem adăuga conținutul unuia sau mai multor fișiere la un alt fișier folosind comanda `cat`. Acest lucru se realizează folosind `>>` la redirecționarea rezultatului, ceea ce previne suprascrierea conținutului existent în fișierul de destinație. Spre exemplu, pentru a adăuga conținutul `primary.txt` la `colors.txt`, se execută următorul cod:

Rezultatul acestei operațiuni este prezentat mai jos:

Concluzie

Comanda `cat` este un instrument Linux deosebit de util, ce permite utilizatorilor să concateneze și să vizualizeze conținutul fișierelor. Ea dispune de mai multe opțiuni ce permit modificarea modului în care funcționează.

Prin utilizarea redirecționării, funcționalitatea comenzii `cat` poate fi extinsă considerabil, oferind posibilitatea de a crea și copia fișiere, de a concatena mai multe fișiere într-unul singur și de a adăuga conținut la un fișier existent. Pentru a afla mai multe despre `cat`, consultați paginile sale de manual.

De asemenea, puteți explora o serie de comenzi Linux destinate administratorilor de sistem.