1. stdout (Standard Out)

Până acum v-ați familiarizat cu multe comenzi și cu mesajele de ieșire ale acestora. Astfel ajungem la următorul subiect denumit I/O (input/output=întrări/ieșiri) sau fluxuri de intrare/ieșire. Haideți să executăm următoarea comandă și vom discuta cum funcționează.

$ echo Salut Lume > flux_iesire.txt

Ce s-a întâmplat de fapt? Ei bine, verificați directorul în care ați rulat comanda și minune mare, ar trebui să vedeți un fișier denumit flu_ieșire.txt. Mai departe uitați-vă în acest fișier și ar trebui să găsiți fix textul Salut Lume. S-au întâmplat o mulțime de lucruri, așa că haideți să le luăm pe rând.

Mai întâi să analizăm prima parte:

$ echo Salut Lume

După cum știm deja această comandă tipărește / afișează pe ecran textul Salut Lume. Dar cum? Procesul folosește fluxurile I/O pentru a primi întrări (input-uri) pentru ca apoi sa returneze ieșiri (out put-uri). Implicit comanda input primește input-uri (standard input sau stdin) de la tastatură și returnează output-uri (standard output sau stdout) pe ecran. Așa că de aceea, în momentul în care tastați echo Salut Lume în shell-ul dvs., se afișează mesajul Salut Lume pe ecran. Totuși, redirecționarea fluxurilor I/O ne permite să schimbăm acest comportament implicit oferindu-ne astfel flexibilitate sporită.

Acum haideți sa continuăm cu următoarea parte a comenzii:

 > 

Simbolul > reprezintă un operator de redirecționare care ne permite să modificăm unde se duce output-ul standard. Ne permite să trimitem output-ul comenzii echo Salut Lume către un fișier în loc să fie trimis implicit către ecran. Dacă fișierul nu există deja va crea unul pentru dvs. În orice caz, dacă totuși acesta există va fi suprascrie (puteți adăuga o opțiune în shell în funcție de ce tip folosiți bash, tsh, zsh, etc). Așa că mare atenție.

Și cam așa funcționează în principiu redirecționarea stdout!

Acum, să presupunem că nu ați vrut să suprascrieți fișierul flux_iesire.txt. Din fericire există un operator de redirecționare special menit pentru a nu suprascrie notat cu, >>:

$ echo Salut Lume >> flux_iesire.txt

Acest operator va adăuga Salut Lume la sfârșitul fișierului flux_iesire.txt. Dacă acest fișier nu există deja va crea unul exact așa cum a făcut și cu operatorul de redirecționare anterior >. Recomandat ar fi să folosiți >> pentru a evita suprascrieri accidentale și folosirea operatorului > ar trebui limitată doar la cazurile în care chiar este nevoie.


Exerciții

Încercați câteva comenzi:

$ ls -l /var/log > jurnale.txt
$ echo Salut Lume > rm
$ > un_fisier.txt 

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.