Amaly mysallar bilen Linux-da 10 peýdaly zynjyr operatory


Linux buýruklarynyň zynjyry, birnäçe buýrugy birleşdirip, olaryň arasynda ulanylýan operatoryň özüni alyp barşyna esaslanyp ýerine ýetirilmegini aňladýar. Linux-da buýruklaryň zynjyry, gabygyň özünde gysga gabyk skriptlerini ýazýan we göni terminaldan ýerine ýetirýän ýaly. Zynjyr prosesi awtomatlaşdyrmaga mümkinçilik berýär. Mundan başga-da, gözegçilik edilmedik maşyn zynjyrly operatorlaryň kömegi bilen has yzygiderli işläp biler.

Bu makala, gysgaça düşündirişler we degişli mysallar bilen ýygy-ýygydan ulanylýan buýruk zynjyrly operatorlara ýagtylyk bermegi maksat edinýär, bu hökman öndürijiligiňizi ýokarlandyrar we kämahal ulgam ýüküni azaltmagyň ýanynda gysga we manyly kodlar ýazmaga mümkinçilik berer.

1. Ampersand Operator (&)

'&' Funksiýasy buýrugy fonda işletmek. Diňe ak boşluk bilen “&” buýrugyny ýazyň. Bir gezekde fonda birden köp buýrugy ýerine ýetirip bilersiňiz.

Fonda bir buýrugy işlediň:

[email :~$ ping ­c5 linux-console.net &

Iki buýrugy fonda bir wagtda işlediň:

[email :/home/tecmint# apt-get update & apt-get upgrade &

2. ýarym içege operatory (;)

Collarym kolon operatory işlemäge mümkinçilik berýär, bir gezekde birnäçe buýruk we buýrugyň ýerine ýetirilmegi yzygiderli bolýar.

[email :/home/tecmint# apt-get update ; apt-get upgrade ; mkdir test

Aboveokardaky buýruk kombinasiýasy ilki täzelenme görkezmesini ýerine ýetirer, soňra görkezmäni täzelär we ahyrynda häzirki işleýän katalogyň aşagynda “synag” katalogyny döreder.

3. WE Operator (&&)

AND Operator (&&) diňe ikinji buýrugy ýerine ýetirer, eger birinji buýrugyň ýerine ýetirilmegi SUCCEEDS, ýagny birinji buýrugyň çykyş ýagdaýy 0 bolsa, bu buýruk soňky buýrugyň ýerine ýetiriliş ýagdaýyny barlamakda örän peýdalydyr.

Mysal üçin, terminalda baglanyşyk buýrugyny ulanyp, linux-console.net web sahypasyna girmek isleýärin, ýöne ondan ozal öý eýesiniň diridigini ýa-da ýokdugyny barlamaly.

[email :/home/tecmint# ping -c3 linux-console.net && links linux-console.net

4. ORA-da Operator (||)

OR Operator (||) programmirlemekdäki başga sözleme meňzeýär. Aboveokardaky operator, diňe birinji buýrugy ýerine ýetirmese, ikinji buýrugy ýerine ýetirmäge mümkinçilik berýär, ýagny birinji buýrugyň çykyş ýagdaýy 1.

Mysal üçin, kök däl hasapdan “apt-get update” ýerine ýetirmek isleýärin we birinji buýruk şowsuz bolsa, ikinji “baglanyşyk linux-console.net” buýrugy ýerine ýetiriler.

[email :~$ apt-get update || links linux-console.net

Aboveokardaky buýrukda, ulanyja ulgamy täzelemäge rugsat berilmänsoň, birinji buýrugyň çykyş ýagdaýynyň 1 bolandygyny we şonuň üçin iň soňky buýrugyň linux-console.net baglanyşyklaryny ýerine ýetirýändigini aňladýar.

Birinji buýruk çykyş statusy “0” bilen üstünlikli ýerine ýetirilse näme etmeli? Elbetde! Ikinji buýruk ýerine ýetirilmez.

[email :~$ mkdir test || links linux-console.net

Bu ýerde ulanyjy öz öý katalogynda ulanyja rugsat berlen bukjany “synag” döredýär. Buýruk çykyş statusyny 0 bermek bilen üstünlikli ýerine ýetirilýär we şonuň üçin buýrugyň soňky bölegi ýerine ýetirilmeýär.

5. Operator däl (!)

NOT Operator (!) Köplenç başga jümlesine meňzeýär. Bu buýruk berlen şertden başga hemme zady ýerine ýetirer. Muňa düşünmek üçin öý katalogyňyzda “tecmint” katalogyny dörediň we oňa “cd” dörediň.

[email :~$ mkdir tecmint 
[email :~$ cd tecmint

Ondan soň, “tecmint” bukjasynda birnäçe görnüşli faýl dörediň.

[email :~/tecmint$ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

“Tekmint” bukjasynyň içinde ähli täze faýllary döredendigimize serediň.

[email :~/tecmint$ ls 

a.doc  a.html  a.pdf  a.xml  b.doc  b.html  b.pdf  b.xml

Indi “html” faýlyndan başga ähli faýllary birbada akylly ýagdaýda pozuň.

[email :~/tecmint$ rm -r !(*.html)

Diňe barlamak, iň soňky ýerine ýetiriş. Ls buýrugyny ulanyp, elýeterli faýllaryň hemmesini sanaň.

[email :~/tecmint$ ls 

a.html  b.html

6. WE - ORA-da operator (&& - ||)

Aboveokardaky operator aslynda AND we OR Operatoryň utgaşmasydyr. Bu, başga-başga sözlemine meňzeýär.

Mysal üçin, geliň, “Verified” ýa-da “Host Down” ýaňlanýan bolsa, linux-console.net sahypasyna gireliň.

[email :~/tecmint$ ping -c3 linux-console.net && echo "Verified" || echo "Host Down"
PING linux-console.net (212.71.234.61) 56(84) bytes of data. 
64 bytes from linux-console.net (212.71.234.61): icmp_req=1 ttl=55 time=216 ms 
64 bytes from linux-console.net (212.71.234.61): icmp_req=2 ttl=55 time=224 ms 
64 bytes from linux-console.net (212.71.234.61): icmp_req=3 ttl=55 time=226 ms 

--- linux-console.net ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2001ms 
rtt min/avg/max/mdev = 216.960/222.789/226.423/4.199 ms 
Verified

Indi internet birikmäňizi aýyryň we şol bir buýrugy gaýtadan synap görüň.

[email :~/tecmint$ ping -c3 linux-console.net && echo "verified" || echo "Host Down"
ping: unknown host linux-console.net 
Host Down

7. Turbanyň operatory (|)

Bu PIPE operatory, birinji buýrugyň çykyşy ikinji buýruga giriş hökmünde çykyş edýän ýerinde gaty peýdalydyr. Mysal üçin, “ls -l” -iň çykyşyny “az” geçiriň we buýrugyň çykyşyny görüň.

[email :~$ ls -l | less

8. Buýruk kombinasiýa operatory {}

Iki ýa-da has köp buýrugy birleşdiriň, ikinji buýruk birinji buýrugyň ýerine ýetirilmegine baglydyr.

Mysal üçin, “bin” katalogynyň bardygyny ýa-da ýokdugyny barlaň we degişli çykyş çykaryň.

[email :~$ [ -d bin ] || { echo Directory does not exist, creating directory now.; mkdir bin; } && echo Directory exists.

9. Öňünden gelýän operator()

Operator buýrugy deslapky tertipde ýerine ýetirmäge mümkinçilik berýär.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

Aboveokardaky pseudo buýrugynda, Command_x1 şowsuz bolsa näme etmeli? Command_x2, Command_x3, Command_x4 hiç biri ýerine ýetirilmez, munuň üçin Precedence Operator ulanýarys:

(Command_x1 &&Command_x2) || (Command_x3 && Command_x4)

Aboveokardaky pseudo buýrugynda, Command_x1 şowsuz bolsa, Command_x2 hem şowsuz, ýöne Command_x3 we Command_x4 ýerine ýetirişleri Command_x3-iň çykyş ýagdaýyna baglydyr.

10. Baglanyşyk operatory (\)

Adynyň görkezişi ýaly “Concatenation Operator” (\), gabykdaky birnäçe setirden uly buýruklary birleşdirmek üçin ulanylýar. Mysal üçin, aşakdaky buýruk tekst faýl synagyny açar (1) .txt.

[email :~/Downloads$ nano test\(1\).txt

Bularyň hemmesi häzirlikçe. Soonakynda başga bir gyzykly makala taýýarlaýaryn. Şoňa çenli sazlaşykly, sagdyn we Tecmint-e birikdiriň. Teswirler bölümimizde Gymmat bahaly pikirleriňizi bermegi ýatdan çykarmaň.