![Nvidia GeForce RTX 4080 lekkinud üksikasjad viitavad tohutule võimendusele](/f/58f7ca70e9be331e5cfb4eba19c26f96.jpg?width=100&height=100)
Linuxi käskude aheldamine tähendab mitme käsu kombineerimist ja nende täitmist nende vahel kasutatava operaatori käitumise alusel. Käskude aheldamine Linuxis on midagi sellist, nagu te kirjutate lühikesed skriptid kesta enda juures ja käivitades need otse terminalist. Kettimine võimaldab protsessi automatiseerida. Veelgi enam, järelevalveta masin võib ketistavate operaatorite abil töötada palju süstemaatiliselt.
Loe ka:Kuidas kasutada Awk ja regulaaravaldisi failide teksti filtreerimiseks
Selle artikli eesmärk on valgustada sageli kasutatavaid käsuahelate operaatorid, koos lühikirjelduste ja vastavate näidetega, mis kindlasti suurendavad teie tootlikkust ja võimaldavad teil mõnikord kirjutada lühikesi ja sisukaid koode lisaks süsteemi koormuse vähendamisele.
Funktsioon "&"On panna käsk taustal töötama. Sisestage lihtsalt käsk, millele järgneb tühik ja "&‘. Saate taustal korraga täita mitu käsku.
Käivitage taustal üks käsk:
[e -post kaitstud]: ~ $ ping c5 www.tecmint.com &
Käivitage taustal samaaegselt kaks käsku:
[e -post kaitstud]:/home/tecmint# apt-get update & apt-get upgrade &
Semikoolonoperaator võimaldab käivitada mitu käsku korraga ja käsu täitmine toimub järjestikku.
[e -post kaitstud]:/home/tecmint# apt-get update; apt-get upgrade; mkdiri test
Esmalt käivitatakse ülaltoodud käsukombinatsioon uuendada õpetus siis uuendada õpetus ja lõpuks loob "test"Kataloog praeguse töökataloogi all.
JA operaator (&&) täidaks ainult teise käsu, kui esimese käsu täitmine EDUst esimese käsu väljumise olek on 0. See käsk on väga kasulik viimase käsu täitmise oleku kontrollimiseks.
Näiteks tahan külastada veebisaiti tecmint.com kasutades linkide käsk, terminalis, kuid enne seda pean kontrollima, kas host on elama või mitte.
[e -post kaitstud]:/home/tecmint# ping -c3 www.tecmint.com && lingid www.tecmint.com
VÕI operaator (||) on palju nagu "muidu"Avaldus programmeerimisel. Ülaltoodud operaator võimaldab teil teist käsku täita ainult siis, kui esimese käsu täitmine ebaõnnestub, st esimese käsu väljumise olek on „1‘.
Näiteks ma tahan täita 'apt-get update"Mitte-root kontolt ja kui esimene käsk ebaõnnestub, siis teine "Lingid www.tecmint.com'Käsk täidetakse.
[e -post kaitstud]: ~ $ apt-get update || lingid tecmint.com
Ülaltoodud käsus, kuna kasutaja ei lubatud uuendada süsteem, tähendab see, et esimese käsu väljumise olek on ‘1’ ja siit ka viimane käsk "lingid tecmint.com'Hukatakse.
Mis siis, kui esimene käsk täidetakse edukalt väljumise olekuga "0‘? Ilmselgelt! Teine käsk ei toimi.
[e -post kaitstud]: ~ $ mkdir test || lingid tecmint.com
Siin loob kasutaja kausta "test"Oma kodukataloogis, mille jaoks kasutaja on lubatud. Käsk edukalt täidetud, andes väljumisoleku "0"Ja seega käsu viimast osa ei täideta.
EI operaator (!) on palju nagu "välja arvatud’Avaldus. See käsk täidab kõik, välja arvatud antud tingimus. Selle mõistmiseks looge kataloog "tecmint"Oma kodukataloogis ja"cd'Selle juurde.
[e -post kaitstud]: ~ $ mkdir tecmint [e -post kaitstud]: ~ $ cd tecmint
Seejärel looge kausta mitut tüüpi failetecmint‘.
[e -post kaitstud]: ~/tecmint $ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html
Vaadake, et oleme loonud kõik uued failid kausta "tecmint‘.
[e -post kaitstud]: ~/tecmint $ ls a.doc a.html a.pdf a.xml b.doc b.html b.pdf b.xml
Nüüd kustutage kõik failid, välja arvatud "html„Viilige kõik korraga, nutikalt.
[e -post kaitstud]: ~/tecmint $ rm -r! (*. html)
Lihtsalt kontrollimiseks, viimane täitmine. Loetlege kõik saadaolevad failid, kasutades ls käsk.
[e -post kaitstud]: ~/tecmint $ ls a.html b.html
Ülaltoodud operaator on tegelikult kombinatsioon „JA'Ja'VÕI'Operaator. See on palju nagu 'kui-muidu’Avaldus.
Näiteks pingime tecmint.com, kui edu kordab "Kinnitatud"Muidu kaja"Host alla‘.
[e -post kaitstud]: ~/tecmint $ ping -c3 www.tecmint.com && echo "Verified" || kaja "Host Down"
PING www.tecmint.com (212.71.234.61) 56 (84) baiti andmeid. 64 baiti saidilt www.tecmint.com (212.71.234.61): icmp_req = 1 ttl = 55 aeg = 216 ms 64 baiti saidilt www.tecmint.com (212.71.234.61): icmp_req = 2 ttl = 55 aeg = 224 ms 64 baiti saidilt www.tecmint.com (212.71.234.61): icmp_req = 3 ttl = 55 aeg = 226 ms www.tecmint.com pingistatistika 3 edastatud paketti, 3 vastuvõetud, 0% pakettide kadu, aeg 216,960/222,789/226,423/4,199 ms Kinnitatud
Nüüd katkestage Interneti -ühendus ja proovige sama käsku uuesti.
[e -post kaitstud]: ~/tecmint $ ping -c3 www.tecmint.com && echo "verified" || kaja "Host Down"
ping: tundmatu host www.tecmint.com Host alla
See TORU operaator on väga kasulik, kui esimese käsu väljund toimib teise käsu sisendina. Näiteks torujuhtme väljund "ls -l''vähem"Ja vaadake käsu väljundit.
[e -post kaitstud]: ~ $ ls -l | vähem
Kombineerige kaks või enam käsku, teine käsk sõltub esimese käsu täitmisest.
Näiteks kontrollige, kas kataloog "prügikast"On saadaval või mitte, ja väljund vastab väljundile.
[e -post kaitstud]: ~ $ [-d prügikast] || {echo kataloogi pole olemas, luues kataloogi kohe.; mkdir prügikast; } && echo kataloog on olemas.
Operaator võimaldab käsu täitmist paremusjärjestuses.
Command_x1 && Command_x2 || Command_x3 && Command_x4.
Ülaltoodud pseudo -käsus, mis siis, kui Käsk_x1 ebaõnnestub? Kumbki Käsk_x2, Käsk_x3, Käsk_x4 täidaksime, selleks kasutame Precedence Operaator, nagu:
(Command_x1 && Command_x2) || (Command_x3 && Command_x4)
Ülaltoodud pseudo käsus, kui Käsk_x1 ebaõnnestub, Käsk_x2 ka ebaõnnestub, kuid siiski Käsk_x3 ja Käsk_x4 täitmine sõltub väljumise olekust Käsk_x3.
Ühendamise operaator (\), nagu nimigi täpsustab, kasutatakse suurte käskude ühendamiseks kesta mitmel real. Näiteks avab käsk Allpool tekstifaili test (1) .txt.
[e -post kaitstud]: ~/Laadib alla $ nano testi \ (1 \). Txt
Praeguseks kõik. Tulen varsti uue huvitava artikli juurde. Seniks püsige lainel, terve ja ühenduses Tecmint. Ärge unustage anda oma väärtuslikku tagasisidet meie kommentaaride jaotises.