Viendeshaji 10 Muhimu vya Chaining katika Linux na Mifano Vitendo


Upangaji wa amri za Linux inamaanisha, kuchanganya amri kadhaa na kuzifanya zitekelezwe kulingana na tabia ya mwendeshaji anayetumiwa kati yao. Mlolongo wa amri katika Linux, ni kitu kama unaandika hati fupi za ganda kwenye ganda lenyewe, na kuzitekeleza kutoka kwa terminal moja kwa moja. Chaining inafanya uwezekano wa kufanya mchakato otomatiki. Aidha, mashine isiyosimamiwa inaweza kufanya kazi kwa njia ya utaratibu kwa msaada wa waendeshaji wa minyororo.

Kifungu hiki kinalenga kutoa mwanga kwa waendeshaji-amri wanaotumiwa mara kwa mara, kwa maelezo mafupi na mifano inayolingana ambayo kwa hakika itaongeza tija yako na kukuruhusu kuandika misimbo mifupi na ya maana kando na kupunguza mzigo wa mfumo, wakati mwingine.

1. Opereta ya Ampersand (&)

Kazi ya '&' ni kufanya amri kukimbia chinichini. Andika tu amri ikifuatiwa na nafasi nyeupe na '&'. Unaweza kutekeleza zaidi ya amri moja chinichini, kwa kwenda mara moja.

Endesha amri moja nyuma:

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

Endesha amri mbili nyuma, wakati huo huo:

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

2. Kiendeshaji cha nusu koloni (;)

Opereta ya nusu ya koloni hufanya iwezekanavyo kukimbia, amri kadhaa kwa kwenda moja na utekelezaji wa amri hutokea sequentially.

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

Mchanganyiko wa amri hapo juu utafanya kwanza maagizo ya sasisho, kisha uboresha maagizo na mwishowe utaunda saraka ya 'test' chini ya saraka ya sasa ya kufanya kazi.

3. NA Opereta (&&)

AND Operator (&&) itafanya amri ya pili tu, ikiwa utekelezaji wa amri ya kwanza IMEFANIKIWA, yaani, hali ya kuondoka kwa amri ya kwanza ni 0. Amri hii ni muhimu sana katika kuangalia hali ya utekelezaji wa amri ya mwisho.

Kwa mfano, ninataka kutembelea tovuti ya linux-console.net kwa kutumia amri ya viungo, kwenye terminal lakini kabla ya hapo ninahitaji kuangalia ikiwa mwenyeji yuko hewani au la.

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

4. AU Opereta (||)

Opereta AU (||) ni kama taarifa ya 'mwingine' katika upangaji programu. Opereta hapo juu hukuruhusu kutekeleza amri ya pili ikiwa tu utekelezaji wa amri ya kwanza utashindwa, i.e., hali ya kutoka ya amri ya kwanza ni '1'.

Kwa mfano, ninataka kutekeleza 'apt-get update' kutoka kwa akaunti isiyo ya mizizi na ikiwa amri ya kwanza itashindwa, basi amri ya pili ya 'viungo linux-console.net' itafanya.

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

Katika amri iliyo hapo juu, kwa kuwa mtumiaji hakuruhusiwa kusasisha mfumo, inamaanisha kuwa hali ya kutoka ya amri ya kwanza ni '1' na kwa hivyo amri ya mwisho ya 'links linux-console.net' inatekelezwa.

Nini ikiwa amri ya kwanza itatekelezwa kwa mafanikio, na hali ya kutoka '0'? Ni wazi! Amri ya pili haitatekelezwa.

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

Hapa, mtumiaji huunda folda 'test' kwenye saraka yake ya nyumbani, ambayo mtumiaji anaruhusiwa. Amri imetekelezwa kwa mafanikio kutoa hali ya kutoka '0' na kwa hivyo sehemu ya mwisho ya amri haijatekelezwa.

5. SIO Opereta (!)

Opereta SIYO (!) ni kama taarifa ya 'isipokuwa'. Amri hii itatekeleza yote isipokuwa masharti yaliyotolewa. Ili kuelewa hili, tengeneza saraka 'tecmint' kwenye saraka yako ya nyumbani na 'cd' kwake.

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

Ifuatayo, unda aina kadhaa za faili kwenye folda ya 'tecmint'.

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

Tazama tumeunda faili zote mpya ndani ya folda ya 'tecmint'.

[email :~/tecmint$ ls 

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

Sasa futa faili zote isipokuwa faili ya 'html' zote mara moja, kwa njia nzuri.

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

Ili tu kuthibitisha, utekelezaji wa mwisho. Orodhesha faili zote zinazopatikana kwa kutumia ls amri.

[email :~/tecmint$ ls 

a.html  b.html

6. NA - AU Opereta (&& - ||)

Opereta hapo juu kwa kweli ni mchanganyiko wa 'NA' na 'OR' Opereta. Ni kama taarifa ya 'ikiwa ni sivyo'.

Kwa mfano, hebu tufanye ping kwa linux-console.net, ikiwa mafanikio yatarejelea 'Imethibitishwa' vinginevyo toa sauti ya 'Host Down'.

[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

Sasa, tenganisha muunganisho wako wa intaneti, na ujaribu amri sawa tena.

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

7. Opereta BOMBA (|)

Opereta huyu wa PIPE ni muhimu sana ambapo matokeo ya amri ya kwanza hufanya kama pembejeo kwa amri ya pili. Kwa mfano, bomba matokeo ya 'ls -l' hadi 'less' na uone matokeo ya amri.

[email :~$ ls -l | less

8. Opereta Mchanganyiko wa Amri {}

Kuchanganya amri mbili au zaidi, amri ya pili inategemea utekelezaji wa amri ya kwanza.

Kwa mfano, angalia ikiwa saraka 'bin' inapatikana au la, na pato linalolingana.

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

9. Kiendeshaji cha Utangulizi()

Opereta inafanya uwezekano wa kutekeleza amri kwa mpangilio wa utangulizi.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

Katika amri ya uwongo iliyo hapo juu, vipi ikiwa Command_x1 itashindwa? Hakuna hata Command_x2, Command_x3, Command_x4 ambayo ingetekelezwa, kwa hili tunatumia Precedence Operator, kama:

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

Katika amri ya uwongo iliyo hapo juu, ikiwa Command_x1 itashindwa, Command_x2 pia itashindwa lakini Bado Command_x3 na Command_x4 kutekeleza inategemea hali ya kutoka ya Command_x3.

10. Kiendeshaji Muunganisho (\)

Opereta ya Uunganishaji (\) kama jina linavyobainisha, hutumika kuambatanisha amri kubwa juu ya mistari kadhaa kwenye ganda. Kwa mfano, Amri iliyo hapa chini itafungua jaribio la faili ya maandishi(1).txt.

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

Hayo ni yote kwa sasa. Ninakuja na makala nyingine ya kuvutia hivi karibuni. Hadi wakati huo Endelea kuwa nasi, ukiwa na afya njema na umeunganishwa na Tecmint. Usisahau kutoa maoni yako ya Thamani katika sehemu yetu ya maoni.