Operatorii de înlănțuire a comenzilor sunt caractere speciale folosite pentru a scrie scripturi shell în miniatură în linia de comandă. Ele sunt în general folosite pentru a executa comenzi într-o anumită secvență, definită de plasarea operatorilor între comenzi. Acest lucru este incredibil de util în automatizarea sarcinilor.

Să învățăm despre câțiva operatori de înlănțuire comună pe Linux, care vă pot ajuta să finalizați sarcinile mai rapid și cu intervale de utilizare mai mici.

1. Operatorul Ampersand (&)

Adesea, când deschideți un program sau executați o comandă din shell, trebuie fie să așteptați până când comanda se termină, fie să ieșiți manual din program înainte de a putea continua să utilizați shell-ul. Aici intervine operatorul ampersand (&).

Adăugând operatorul ampersand la orice comandă, îi dictați shell-ul executați acea comandă Linux în fundal astfel încât să puteți continua să utilizați shell-ul nelegat.

gedit &

De obicei, dacă rulați gedit de pe terminal, nu veți putea folosi terminalul decât dacă închideți editorul de text. Dar, prin adăugarea operatorului ampersand, îl puteți face să ruleze în fundal și să continuați să utilizați shell-ul imediat.

instagram viewer

2. Operatorul punct și virgulă (;)

Operatorul punct și virgulă este un operator de înlănțuire Linux incredibil de util pe care îl puteți folosi pentru a executa comenzi într-o ordine definită, secvenţială. Ordonați comenzile și separați-le prin punct și virgulă.

pwd; mkdir Test; CDTest; fișier de atingere

Sintaxa de mai sus impune shell-ului să execute fiecare comandă una după alta. Rețineți că shell-ul nu verifică dacă fiecare comandă se termină cu succes. De îndată ce shell-ul primește un cod de returnare, trece la executarea următoarei comenzi.

3. Operatorul SAU (||)

Operatorul SAU va executa comanda care urmează numai dacă comanda anterioară eșuează, adică returnează un cod de ieșire de 0. Funcționează ca o poartă SAU logică, care returnează valoarea 1 când intrarea este 0.

comandă_rea || ls

În acest exemplu de sintaxă, comandă_rea este o comandă falsă care nu se va executa și, deoarece nu reușește, comanda care urmează operatorului SAU, care este comanda ls, se va executa cu succes.

4. Operatorul de conducte (|)

Operatorul conductei direcționează ieșirea comenzii precedente ca intrare pentru comanda următoare. Este folosit cel mai frecvent pentru a filtra datele cu comanda grep.

test pisica | grep -i "a se folosi de"

Această comandă trimite rezultatul de comanda pisicii ca intrare în comanda grep, care filtrează apoi rezultatul împotriva unui șir specificat.

5. Operatorul AND (&&)

Acest operator funcționează în moduri similare cu operatorul punct și virgulă, cu excepția faptului că, spre deosebire de operatorul punct și virgulă, operatorul AND va executa comenzi numai dacă comanda anterioară a fost executată cu succes.

pwd && testul mkdir && test cd && comandă_rea && ls

În acest exemplu de sintaxă, shell-ul va executa cu succes toate comenzile până la comandă_rea. Cu toate acestea, deoarece bad_command nu reușește să ruleze, shell-ul va returna o eroare și va omite comanda ls.

6. Operatorul NOT (!)

Operatorul NOT funcționează în moduri similare cu o instrucțiune except din programare. De exemplu, dacă doriți să efectuați o operațiune pe un număr mare de fișiere dintr-un director, dar doriți să excludeți a câteva pe baza unui parametru, atunci puteți utiliza operatorul NOT trecând parametrul după caracterul NOT (!).

rm-r !(*.TXT)

Acest exemplu de comandă va elimina recursiv toate fișierele dintr-un director, cu excepția fișierelor care au un „.TXT" extensie.

7. Operatorul de prioritate ((..))

Comenzile care urmează operatorilor AND și SAU depind de codul de ieșire al comenzii precedente. Acești operatori sunt binari și evaluează doar cele două comenzi care vin înainte și după ei.

Deci, atunci când lucrați cu mai mulți operatori, este important să setați grupuri și prioritate pentru a vă asigura că secvența de execuție corespunde așteptărilor dumneavoastră.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || ecou "Test de prioritate!"

În acest exemplu de sintaxă, ambele grupuri de comenzi trebuie să returneze un cod de ieșire 0 pentru a asigura executarea cu succes a ultimei comenzi. Acest exemplu necesită ca ambele comenzi din primul set () să iasă cu 0 pentru ca al doilea set () să ruleze.

8. Operatorul de combinație ({..})

După cum sugerează numele, operatorul de combinație este folosit pentru a grupa comenzi. Indiferent de comenzile pe care doriți să le grupați, le puteți plasa între paranteze și vor fi executate în funcție de codul de ieșire al primei comenzi.

test -f /etc/passwd && {pwd; Data} && echo $0; ecou "Buna ziua"

Exemplul de sintaxă va testa dacă fișierul /etc/passwd este prezent, imprimați directorul de lucru curent, data, numele shell-ului și ecou „Bună ziua”.

9. Concatenare sau operatorul de evacuare (\)

Operatorul de concatenare sau de evacuare are două funcții. Îl puteți folosi fie pentru a concatena două comenzi, fie ca caracter de escape atunci când lucrați cu șiruri în shell.

mkdir test0 test1 \ test2
ecou „Bună ziua! din cel
altă parte"

Prima comandă va crea patru directoare denumite test0 până la test2, iar a doua comandă va tipări șirul separat de o nouă linie.

10. Operatorii de redirecționare (>, >>,

Operatorii de redirecționare redirecționează ieșirea sau intrarea într-un fișier fie prin rescrierea fișierului, fie prin adăugarea acestuia. Dacă doriți să rescrieți un fișier, atunci trebuie să utilizați sintaxa unghiulară unică (>). Dacă doriți să adăugați la un fișier, va trebui să utilizați sintaxa parantezei unghiulare duble (>>).

ecou "dsd"> Test; ecou "bssss">> Test

În sintaxa eșantion, prima comandă va suprascrie fișierul „test” cu șirul furnizat, dar, în a doua comandă, șirul furnizat va fi atașat fișierului de test.

Accelerați fluxul de lucru pentru terminalul Linux

În timp ce utilizarea operatorilor speciali va simplifica în mod semnificativ execuția sarcinilor pentru dvs., există mai multe alte moduri de a vă accelera fluxul de lucru.

O modalitate ușoară și utilă de a face mai multe în mai puțin timp este să vă familiarizați cu câteva comenzi rapide la îndemână. Obișnuirea cu aceste comenzi rapide va duce mult și te vei trezi că te bazezi pe ele atâta timp cât folosești Linux.