10 Mapuslanon nga Chaining Operators sa Linux nga adunay Praktikal nga mga Ehemplo


Ang pagkadena sa mga mando sa Linux nagpasabut, paghiusa sa daghang mga mando ug himuon kini nga ipatuman base sa pamatasan sa operator nga gigamit sa taliwala nila. Ang pagkadena sa mga sugo sa Linux, usa ka butang nga sama sa imong pagsulat sa mubu nga mga script sa kabhang sa kabhang mismo, ug direktang gipatuman kini gikan sa terminal. Ang pagkadena nagpaposible sa pag-automate sa proseso. Dugang pa, ang usa ka makina nga wala maatiman mahimo’g molihok sa usa ka labi ka sistematikong paagi sa tabang sa mga operator sa kadena.

Kini nga Artikulo nagtumong sa paghatag kahayag sa kanunay nga gigamit nga command-chaining operators, nga adunay mugbo nga mga paghubit ug katugbang nga mga pananglitan nga siguradong makadugang sa imong pagka-produktibo ug tugotan ka nga magsulat og mubo ug makahuluganon nga mga code tupad sa pagkunhod sa load sa sistema, usahay.

1. Ampersand Operator (&)

Ang function sa '&' mao ang paghimo sa command nga modagan sa background. I-type lang ang mando nga gisundan sa usa ka puti nga wanang ug '&'. Mahimo nimong ipatuman ang labaw pa sa usa ka mando sa background, sa usa ka lakang.

Pagdalag usa ka sugo sa background:

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

Pagdalag duha ka command sa background, dungan:

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

2. semi-colon Operator (;)

Ang semi-colon operator nagpaposible sa pagdagan, daghang mga sugo sa usa ka paglakaw ug ang pagpatuman sa sugo mahitabo nga sunud-sunod.

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

Ang labaw nga kombinasyon sa command una nga ipatuman ang instruksyon sa pag-update, dayon i-upgrade ang panudlo ug sa katapusan maghimo usa ka 'pagsulay' nga direktoryo sa ilawom sa karon nga direktoryo sa pagtrabaho.

3. UG Operator (&&)

Ang AND Operator (&&) mopatuman lamang sa ikaduhang command, kung ang pagpatuman sa unang command MAGMALAMPUSON, i.e., ang exit status sa unang command kay 0. Kini nga command mapuslanon kaayo sa pagsusi sa execution status sa last command.

Pananglitan, gusto nako nga bisitahan ang website nga linux-console.net gamit ang mga link nga komand, sa terminal apan sa wala pa kinahanglan nako susihon kung ang host buhi o dili.

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

4. O Operator (||)

Ang OR Operator (||) sama sa usa ka 'lain' nga pahayag sa programming. Gitugotan ka sa operator sa ibabaw nga ipatuman ang ikaduha nga mando kung mapakyas ang pagpatuman sa una nga mando, i.e., ang exit status sa una nga mando mao ang '1'.

Pananglitan, gusto nako nga ipatuman ang 'apt-get update' gikan sa non-root nga account ug kung mapakyas ang una nga command, unya ang ikaduha nga 'links linux-console.net' nga sugo ipatuman.

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

Sa sugo sa ibabaw, tungod kay ang user wala tugoti sa pag-update sa sistema, kini nagpasabot nga ang exit status sa unang command mao ang '1' ug busa ang katapusan nga command 'links linux-console.net' mapatuman.

Unsa kaha kung ang unang sugo malampuson nga gipatuman, nga adunay exit status '0'? Dayag nga! Ang ikaduhang sugo dili ipatuman.

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

Dinhi, ang user nagmugna og usa ka folder nga 'pagsulay' sa iyang home directory, diin ang user gitugutan. Ang mando nga gipatuman malampuson nga naghatag usa ka exit status '0' ug busa ang katapusan nga bahin sa mando wala gipatuman.

5. DILI Operator (!)

Ang DILI Operator (!) Sama sa usa ka 'gawas' nga pahayag. Kini nga sugo ipatuman ang tanan gawas sa kondisyon nga gihatag. Aron masabtan kini, paghimo og direktoryo nga 'tecmint' sa imong home directory ug 'cd' niini.

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

Sunod, paghimo daghang mga lahi sa mga file sa folder nga 'tecmint'.

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

Tan-awa among gibuhat ang tanan nga bag-ong mga file sa sulod sa folder nga 'tecmint'.

[email :~/tecmint$ ls 

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

Karon kuhaa ang tanan nga mga file gawas sa 'html' file sa usa ka higayon, sa usa ka maalamon nga paagi.

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

Para lang ma-verify, last execution. Ilista ang tanan nga magamit nga mga file gamit ang ls command.

[email :~/tecmint$ ls 

a.html  b.html

6. UG – O operator (&& – ||)

Ang operator sa ibabaw sa tinuud usa ka kombinasyon sa 'UG' ug 'OR' Operator. Kini sama sa usa ka 'kon-uban pa' nga pahayag.

Pananglitan, buhaton nato ang ping sa linux-console.net, kung ang kalampusan echo 'Na-verify' uban pa ang '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

Karon, idiskonekta ang imong koneksyon sa internet, ug sulayi pag-usab ang parehas nga mando.

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

7. PIPE Operator (|)

Kini nga operator sa PIPE mapuslanon kaayo kung diin ang output sa una nga mando naglihok ingon usa ka input sa ikaduha nga mando. Pananglitan, pipeline ang output sa 'ls -l' ngadto sa 'gamay' ug tan-awa ang output sa command.

[email :~$ ls -l | less

8. Command Combination Operator {}

Paghiusa sa duha o daghan pa nga mga sugo, ang ikaduha nga sugo nagdepende sa pagpatuman sa unang sugo.

Pananglitan, susiha kung ang usa ka direktoryo nga 'bin' anaa o wala, ug output katugbang nga output.

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

9. Nag-una nga Operator()

Gipaposible sa Operator nga ipatuman ang mando nga nag-una nga han-ay.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

Sa ibabaw nga pseudo command, unsa man kung ang Command_x1 mapakyas? Wala sa Command_x2, Command_x3, Command_x4 ang ipatuman, tungod niini among gigamit ang Precedence Operator, ingon:

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

Sa ibabaw nga pseudo command, kung ang Command_x1 mapakyas, ang Command_x2 mapakyas usab apan ang Command_x3 ug Command_x4 nga gipatuman nagdepende sa exit status sa Command_x3.

10. Operator sa Concatenation (\)

Ang Concatenation Operator (\) ingon sa gipiho sa ngalan, gigamit sa pagdugtong sa dagkong mga sugo sa daghang linya sa kabhang. Pananglitan, Ang ubos nga sugo mag-abli sa text file test(1).txt.

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

Kana lang sa pagkakaron. Naghimo ako og laing makapaikag nga artikulo sa dili madugay. Hangtud unya Magpabilin nga tuned, himsog ug konektado sa Tecmint. Ayaw kalimti ang paghatag sa imong Bililhon nga feedback sa among seksyon sa komento.