'Y'

Operatori Bash in Linux

Chiar daca distributiile Linux ofera o interfata grafica pentru utilizator, la fel ca orice alt sistem de operare, posibilitatea de a controla sistemul prin linia de comanda (CLI) are avantajele ei. Pentru a putea controla modul de executie al comenzilor sau pentru a redirectiona input-ul/output-ul unei comenzi, se folosesc operatori.

Sep 2, 2016 2592
Chiar daca distributiile Linux ofera o interfata grafica pentru utilizator, la fel ca orice alt sistem de operare, posibilitatea de a controla sistemul prin linia de comanda (CLI) are avantajele ei. Pentru a putea controla modul de executie al comenzilor sau pentru a redirectiona input-ul/output-ul unei comenzi, se folosesc operatori.
 
1) Inlantuire de comenzi:

  • Secventa: ; 
Executa mai multe comenzi, una dupa alta. Dupa ce prima comanda s-a terminat, urmatoarea comanda va fi executata, urmata de a treia, si tot asa pentru restul comenzilor.

BashOperators 1.png

  • Executie paralela: & 
Comenzile sunt executate in acelasi timp.

BashOperators2.png

2) Executie conditionata:

  • Operatorul logic SI: && 
Se va executa comanda 2 doar daca comanda 1 s-a terminat cu succes.

Bash Operators 3.png

  • Operatorul logic SAU: || 
Se va executa comanda 2 doar daca comanda 1 nu s-a terminat cu succes.

3) Pipelines: |, |&

  • Operator pipe: | 
Trimite output-ul comenzii 1 (stdout) la input-ul comenzii 2 (stdin).

Bash Operators 5.png

  • Operatorul pipe eroare: |& 
Trimite atat output-ul, cat si stream-ul de eroare (stderr) al comenzii 1, la intrarea comenzii 2 (stdin).

Bash Operators 6.png

4) Redirectionare de input / output

  • Redirectionare input: < 
Utilizat pentru comenzile care isi citesc input-ul de pe terminal. Input-ul este citit din fisier, in loc de terminal.

Syntax: command < file

Bash Operators 7.png
  • Redirectionare input – here documents: <<
Folosit atunci cand input-ul pentru o comanda ar trebui luat direct din terminal si nu dintr-un fisier.

Bash Operators 8.png

  • Redirectionare input – here string: <<< 
Folosit atunci cand un string ar trebui redirectionat catre input-ul comenzii.

Bash Operators 9.png

  • Redirectionare output – stdout: >, >> 
Utilizat pentru comenzile care trimit output-ul catre terminal.

Syntax:
command > file – Scrie rezultatul comenzii in fisier. Daca fisierul nu exista, este creat. Daca exista, va fi trunchiat.
command >> file –Scrie rezultatul comenzii in fisier. Daca fisierul nu exista, este creat. Daca exista, output-ul va fi adaugat.

Nota: Stderr este in continuare trimis la terminal.

Bash Operators 10.png
  • Redirectionare output – stderr: 2>, 2>> 

Trimite streamul de erroare (stderr) catre fisier.

Syntax: command 2> file – Trimite streamul de eroare catre fisier. Daca fisierul nu exista, este creat. Daca exista, va fi trunchiat.
command 2>> file – Trimite streamul de eroare catre fisier. Daca fisierul nu exista, este creat. Daca exista, output-ul va fi adaugat.

Nota: Output-ul (stdout) este in continuare trimis in terminal.

Bash Operators 11.png
  • Redirectionare output – stdout si stderr: &>, &>>
Folosit pentru a redirectiona atat stdout cat si stderr pentru aceeasi comanda.

Syntax:
command &> file – Trimite stdout si stderr catre fisier. Daca fisierul nu exista, este creat. Daca exista, va fi trunchiat.
command &>> file – Trimite stdout si stderr catre fisier. Daca fisierul nu exista, este creat. Daca exista, output-ul va fi adaugat.

Bash Operators 12.png
Florin Simion
Linux Expert

Daca iti place acest articol, distribuie-l si prietenilor tai!




Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.