10 Gagnlegir keðjustjórar í Linux með hagnýtum dæmum


Að keðja Linux skipanir þýðir að sameina nokkrar skipanir og láta þær framkvæma út frá hegðun rekstraraðila sem notaður er á milli þeirra. Keðja skipana í Linux er eitthvað eins og þú sért að skrifa stutt skel forskriftir á skelina sjálfa og keyra þau beint úr flugstöðinni. Keðja gerir það mögulegt að gera ferlið sjálfvirkt. Þar að auki getur eftirlitslaus vél virkað á mjög kerfisbundinn hátt með hjálp hlekkja rekstraraðila.

Þessi grein miðar að því að varpa ljósi á oft notaða stjórna-keðju rekstraraðila, með stuttum lýsingum og samsvarandi dæmum sem mun örugglega auka framleiðni þína og gerir þér kleift að skrifa stutta og þýðingarmikla kóða við hliðina á að draga úr kerfisálagi, stundum.

1. Ampersand Operator (&)

Hlutverk '&' er að láta skipunina keyra í bakgrunni. Sláðu bara inn skipunina á eftir með hvítu bili og '&'. Þú getur framkvæmt fleiri en eina skipun í bakgrunni, í einu lagi.

Keyra eina skipun í bakgrunni:

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

Keyra tvær skipanir í bakgrunni, samtímis:

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

2. semíkomma stjórnandi (;)

Semípunktur stjórnandi gerir það mögulegt að keyra, nokkrar skipanir í einu og framkvæmd skipana á sér stað í röð.

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

Ofangreind skipanasamsetning mun fyrst framkvæma uppfærsluleiðbeiningar, síðan uppfærsluleiðbeiningar og loks búa til „próf“ möppu undir núverandi vinnuskrá.

3. OG rekstraraðili (&&)

AND Operator (&&) myndi aðeins framkvæma seinni skipunina ef framkvæmd fyrstu skipunarinnar heppnast, þ.e. lokastaða fyrstu skipunarinnar er 0. Þessi skipun er mjög gagnleg til að athuga framkvæmdarstöðu síðustu skipunar.

Til dæmis, ég vil heimsækja vefsíðu linux-console.net með því að nota links skipun, í terminal en áður en það þarf að athuga hvort gestgjafinn sé í beinni eða ekki.

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

4. EÐA rekstraraðili (||)

OR Operator (||) er mjög eins og „annað“ yfirlýsing í forritun. Ofangreindur stjórnandi leyfir þér að framkvæma aðra skipun aðeins ef framkvæmd fyrstu skipunarinnar mistekst, þ.e.a.s. útgöngustaða fyrstu skipunarinnar er '1'.

Til dæmis vil ég keyra 'apt-get update' frá reikningi sem ekki er rót og ef fyrsta skipunin mistekst, þá mun önnur 'links linux-console.net' skipunin keyra.

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

Í ofangreindri skipun, þar sem notandanum var ekki leyft að uppfæra kerfið, þýðir það að lokastaða fyrstu skipunarinnar er „1“ og þar af leiðandi er síðasta skipunin „links linux-console.net“ keyrð.

Hvað ef fyrsta skipunin er keyrð með góðum árangri, með útgöngustöðu '0'? Augljóslega! Önnur skipun mun ekki framkvæma.

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

Hér býr notandinn til möppu „próf“ í heimamöppunni sinni, sem notandi hefur leyfi fyrir. Skipunin sem var framkvæmd með góðum árangri og gefur útgangsstöðu '0' og þar af leiðandi er síðasti hluti skipunarinnar ekki keyrður.

5. EKKI rekstraraðili (!)

NOT Operator (!) er svipað og „nema“ yfirlýsing. Þessi skipun mun framkvæma allt nema skilyrðið sem gefið er upp. Til að skilja þetta skaltu búa til möppu 'tecmint' í heimamöppunni þinni og 'cd' við hana.

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

Næst skaltu búa til nokkrar gerðir af skrám í möppunni 'tecmint'.

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

Sjáðu að við höfum búið til allar nýju skrárnar í möppunni 'tecmint'.

[email :~/tecmint$ ls 

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

Eyddu nú öllum skrám nema 'html' skránni í einu, á snjallan hátt.

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

Bara til að staðfesta, síðasta framkvæmd. Listaðu allar tiltækar skrár með ls skipuninni.

[email :~/tecmint$ ls 

a.html  b.html

6. OG – EÐA rekstraraðili (&& – ||)

Ofangreindur rekstraraðili er í raun sambland af „AND“ og „OR“ rekstraraðili. Það er svipað og „ef-annað“ yfirlýsing.

Til dæmis, við skulum gera ping á linux-console.net, ef árangur bergmála „Staðfest“, annars bergmála „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

Aftengdu nú nettenginguna þína og reyndu sömu skipunina aftur.

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

7. PÍPUR (|)

Þessi PIPE stjórnandi er mjög gagnlegur þar sem úttak fyrstu skipunarinnar virkar sem inntak í seinni skipunina. Til dæmis, settu úttakið af 'ls -l' í 'minna' og sjáðu úttak skipunarinnar.

[email :~$ ls -l | less

8. Skipunarsamsetning stjórnandi {}

Sameina tvær eða fleiri skipanir, önnur skipunin veltur á framkvæmd fyrstu skipunarinnar.

Til dæmis, athugaðu hvort möppu 'bin' sé tiltæk eða ekki, og sendu út samsvarandi úttak.

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

9. Forgangsrandi()

Rekstraraðili gerir það mögulegt að framkvæma skipun í forgangsröð.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

Í gerviskipuninni hér að ofan, hvað ef Command_x1 mistekst? Hvorugt Command_x2, Command_x3, Command_x4 myndi keyra, fyrir þetta notum við Precedence Operator, sem:

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

Í gerviskipuninni hér að ofan, ef Command_x1 mistekst, mistekst Command_x2 líka en Still Command_x3 og Command_x4 keyra fer eftir útgöngustöðu Command_x3.

10. Samtengingarstjóri (\)

The Concatenation Operator (\) eins og nafnið tilgreinir, er notað til að sameina stórar skipanir yfir nokkrar línur í skelinni. Til dæmis, Neðangreind skipun mun opna textaskrá test(1).txt.

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

Það er allt í bili. Ég er að koma með aðra áhugaverða grein mjög fljótlega. Þangað til Vertu með, heilbrigður og tengdur við Tecmint. Ekki gleyma að gefa dýrmæt endurgjöf í athugasemdahlutanum okkar.