Komandu ķēdes operatori ir īpašas rakstzīmes, ko izmanto, lai komandrindā rakstītu miniatūras čaulas skriptus. Tos parasti izmanto, lai izpildītu komandas noteiktā secībā, ko nosaka operatoru izvietojums starp komandām. Tas ir neticami noderīgi, automatizējot uzdevumus.

Uzziniet par dažiem plaši izplatītiem operatoriem, kas operētājsistēmā Linux var palīdzēt veikt uzdevumus ātrāk un ar mazākiem lietotāju intervāliem.

1. Ampersand operators (&)

Bieži vien, atverot programmu vai izpildot komandu no čaulas, jums ir vai nu jāgaida, līdz komanda tiek pārtraukta, vai arī manuāli jāiziet no programmas, pirms varat turpināt lietot čaulu. Šeit tiek izmantots & operators (&).

Jebkurai komandai pievienojot operatoru &, jūs diktējat čaulu izpildiet šo Linux komandu fonā lai jūs varētu turpināt lietot čaulu nepiesietu.

gedit &

Parasti, ja palaižat gedit no termināļa, jūs nevarēsit izmantot termināli, ja vien neaizverat teksta redaktoru. Taču, pievienojot un operatoru, varat likt tam darboties fonā un nekavējoties turpināt izmantot čaulu.

2. Semikola operators (;)

Semikola operators ir neticami noderīgs Linux ķēdes operators, ko varat izmantot, lai izpildītu komandas noteiktā secīgā secībā. Sakārtojiet komandas un atdaliet tās ar semikolu.

pwd; mkdir pārbaude; cdpārbaude; pieskāriena fails

Iepriekš minētā sintakse nosaka čaulas katras komandas izpildi vienu pēc otras. Ņemiet vērā, ka apvalks nepārbauda, ​​vai katra komanda tiek veiksmīgi pārtraukta. Tiklīdz apvalks saņem atgriešanas kodu, tas pāriet uz nākamās komandas izpildi.

3. OR operators (||)

Operators VAI izpildīs sekojošo komandu tikai tad, ja iepriekšējā komanda neizdodas, t.i., atgriež izejas kodu 0. Tas darbojas kā loģiski VAI vārti, kas atgriež vērtību 1, ja ievade ir 0.

bad_command || ls

Šajā piemērā sintakse bad_command ir nepatiesa komanda, kuru neizdosies izpildīt, un, tā kā tā neizdodas, komanda, kas seko operatoram VAI, kas ir ls komanda, tiks veiksmīgi izpildīts.

4. Cauruļu operators (|)

Caurules operators novirza iepriekšējās komandas izvadi kā ievadi nākamajai komandai. To visbiežāk izmanto, lai filtrētu datus ar komandu grep.

kaķu tests | grep -i "izmantot"

Šī komanda nosūta izvadi kaķa komanda kā ievadi komandai grep, kas pēc tam filtrē izvadi pret norādīto virkni.

5. UN operators (&&)

Šis operators darbojas līdzīgi semikola operatoram, izņemot, atšķirībā no semikola operatora, operators UN izpildīs komandas tikai tad, ja iepriekšējā komanda ir veiksmīgi izpildīta.

pwd && mkdir tests && cd tests && bad_command && ls

Šajā sintakses piemērā apvalks veiksmīgi izpildīs visas komandas līdz bad_command. Tomēr, tā kā bad_command neizdodas palaist, apvalks atgriezīs kļūdu un izlaidīs ls komandu.

6. NAV operators (!)

Operators NOT darbojas līdzīgi kā izņēmuma paziņojums programmēšanā. Piemēram, ja vēlaties veikt darbību ar lielu skaitu failu direktorijā, bet vēlaties izslēgt a maz, pamatojoties uz kādu parametru, tad varat izmantot operatoru NOT, nododot parametru aiz rakstzīmes NOT (!).

rm-r !(*.txt)

Šī parauga komanda rekursīvi noņems visus failus direktorijā, izņemot failus, kuriem ir ".txt" paplašinājums.

7. Prioritātes operators ((..))

Komandas, kas seko operatoriem UN un OR, ir atkarīgas no iepriekšējās komandas izejas koda. Šie operatori ir bināri un novērtē tikai divas komandas, kas nāk pirms un pēc tām.

Tāpēc, strādājot ar vairākiem operatoriem, ir svarīgi iestatīt grupas un prioritāti, lai nodrošinātu, ka izpildes secība atbilst jūsu cerībām.

(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || atbalss "Priekšrocības pārbaude!"

Šajā sintakses paraugā abām komandu grupām ir jāatgriež izejas kods 0, lai nodrošinātu veiksmīgu pēdējās komandas izpildi. Šajā piemērā ir nepieciešams, lai abas komandas pirmajā komplektā () tiktu izvadītas ar 0, lai tiktu izpildīta otrā kopa ().

8. Kombinācijas operators ({..})

Kā norāda nosaukums, komandu grupēšanai tiek izmantots kombinācijas operators. Neatkarīgi no tā, kuras komandas vēlaties grupēt, varat tās ievietot cirtainās iekavās, un tās tiks izpildītas atkarībā no pirmās komandas izejas koda.

pārbaudiet -f /etc/passwd && {pwd; datums} && atbalss $0; atbalss "Sveiki"

Sintakse paraugs pārbaudīs, vai /etc/passwd failu ir klāt, izdrukājiet pašreizējo darba direktoriju, datumu, čaulas nosaukumu un atkārtojiet "Sveiki".

9. Savienojums vai Escape operators (\)

Savienojuma vai evakuācijas operatoram ir divas funkcijas. Varat to izmantot, lai savienotu divas komandas, vai kā atsoļa rakstzīmi, strādājot ar virknēm čaulā.

mkdir test0 test1 \ test2
atbalss "Sveiks! no uz
otra puse"

Pirmā komanda izveidos četrus direktorijus ar nosaukumu test0 līdz test2, un otrā komanda izdrukās virkni, kas atdalīta ar jaunu rindiņu.

10. Pārvirzīšanas operatori (>, >>,

Pārvirzīšanas operatori novirza izvadi vai ievadi failā, pārrakstot failu vai pievienojot tam. Ja vēlaties pārrakstīt failu, jums ir jāizmanto vienas leņķa iekavas (>) sintakse. Ja vēlaties pievienot failam, jums būs jāizmanto dubultās leņķiekavas sintakse (>>).

atbalss "dsd"> pārbaude; atbalss "bssss">> pārbaude

Sintakses paraugā pirmā komanda pārrakstīs "test" failu ar norādīto virkni, bet otrajā komandā norādītā virkne tiks pievienota testa failam.

Paātriniet savu Linux termināļa darbplūsmu

Lai gan īpašu operatoru izmantošana ievērojami vienkāršos uzdevumu izpildi, ir vairāki citi veidi, kā paātrināt darbplūsmu.

Viens vienkāršs un vērtīgs veids, kā īsākā laikā paveikt vairāk, ir iepazīties ar dažiem ērtiem čaulas īsceļiem. Pieradīsiet pie šiem īsinājumtaustiņiem, un jūs paļausities uz tiem tik ilgi, kamēr izmantojat Linux.