Mājas lapa » » Kā palaist divas vai vairākas termināļa komandas vienlaicīgi Linux

    Kā palaist divas vai vairākas termināļa komandas vienlaicīgi Linux

    Ja lietojat Linux, jūs zināt, cik noderīga ir komandrinda darbam ar failiem, programmatūras instalēšanu un programmu palaišanu. Bet tas var būt vēl efektīvāks, ja vienlaicīgi izpildāt vairākas komandas.

    Divu vai vairāku komandu kombinācija komandrindā ir pazīstama arī kā “komandu ķēde”. Mēs parādīsim dažādus veidus, kā komandrindas komandas var kombinēt.

    Pirmais variants: Semikola (;) operators

    Semikola (;) operators ļauj jums izpildīt vairākas komandas pēc kārtas neatkarīgi no tā, vai katra iepriekšējā komanda ir veiksmīga. Piemēram, atveriet termināļa logu (Ctrl + Alt + T Ubuntu un Linux Mint). Pēc tam vienā rindiņā ierakstiet šādas trīs komandas, atdalītas ar semikolu, un nospiediet Enter. Tas dos jums sarakstu ar pašreizējo direktoriju ( ls ), uzziniet, kuru direktoriju pašlaik izmantojat pwd ) un parādiet savu pieteikšanās vārdu ( kas es esmu ) visi reizē.

    ls; pwd; kas es esmu

    Jums nav arī jāievieto atstarpes starp semikoloniem un komandām. Jūs varat ievadīt trīs komandas kā ls; pwd; whoami . Tomēr atstarpes padara kombinēto komandu vieglāk lasāmu, kas ir īpaši noderīga, ja apvienojot komandu čaulas skriptu.

    Otrais variants: loģiskais un operatora (& &)

    Ja vēlaties, lai otrā komanda darbotos tikai tad, ja pirmā komanda ir veiksmīga, atdaliet komandas ar loģisko UN operatoru, kas ir divi amati ( && ). Piemēram, mēs vēlamies izveidot direktoriju ar nosaukumu MyFolder un pēc tam mainīt uz šo direktoriju, ja tas ir veiksmīgi izveidots. Tātad komandu rindā ierakstām sekojošo un nospiediet Enter.

    mkdir MyFolder & & cd MyFolder

    Mape tika veiksmīgi izveidota, tāpēc cd komanda tika izpildīta un mēs tagad esam jaunajā mapē.

    Lielāko daļu laika mēs iesakām izmantot loģisko UN operatoru, nevis pusvadītāja operatoru (;). Tas nodrošina, ka jūs nedarāt neko postošu. Piemēram, ja palaižat komandu, lai pārslēgtos uz direktoriju, un pēc tam piespiediet noņemt visu šajā direktorijā rekursīvi ( cd / some_directory; rm -Rf * ), jūs varētu beigt iznīcināt jūsu sistēmu, ja netiks notikušas izmaiņas direktorijā. Ne tas, ka mēs iesakām palaist komandu, lai bez nosacījumiem izņemtu visus failus direktorijā.

    Trešais variants: loģiskais vai operators (||)

    Dažreiz jūs varētu vēlēties izpildīt otru komandu tikai tad, ja pirmā komanda to dara ne gūt panākumus. Lai to izdarītu, mēs izmantojam loģisku vai operatoru vai divus vertikālus stieņus ( || ). Piemēram, mēs vēlamies pārbaudīt, vai MyFolder katalogs pastāv ( [-d ~ / MyFolder] ) un izveidojiet to, ja tā nav ( mkdir ~ / MyFolder ). Tātad, uzvednē uzrakstām šādu komandu un nospiediet Enter.

    [-d ~ / MyFolder] || mkdir ~ / MyFolder

    Pārliecinieties, ka pēc pirmā kronšteina ir atstarpe un pirms otrā kronšteina vai pirmās komandas, kas pārbauda, ​​vai direktorija pastāv, nedarbosies.

    Mūsu piemērā nav mapes MyFolder, tāpēc otrā komanda izveido direktoriju.

    Vairāku operatoru apvienošana

    Arī komandrindā var apvienot vairākus operatorus. Piemēram, mēs vispirms vēlamies pārbaudīt, vai ir fails ( [-f ~ / sample.txt] ). Ja tā ir, mēs izdrukājam ziņu uz ekrānu, sakot, ka ( atbalss “Fails pastāv”. ). Ja nē, mēs izveidojam failu ( pieskarieties ~ / sample.txt ). Tātad, komandu uzvednē ierakstām šādu tekstu un nospiediet Enter.

    [-f ~ / sample.txt] & & echo “Fails pastāv.” || pieskarieties ~ / sample.txt

    Mūsu piemērā fails neeksistē, tāpēc tas tika izveidots.

    Šeit ir noderīgs kopsavilkums par katru no operatoriem, kas izmantoti, lai apvienotu komandas:

    •  A; B  - Izpildiet A un tad B, neatkarīgi no A panākumiem vai neveiksmēm
    •  A && B  - B palaist tikai tad, ja A ir izdevies
    •  A || B  - B palaist tikai tad, ja A neizdevās

    Visas šīs komandu apvienošanas metodes var izmantot arī čaulu skriptos gan Linux, gan Windows 10.

    Varat arī automātiski labot pareizrakstību un kļūdas, lietojot “cd” komandrindā Linux, lai izvairītos no krasām sekām, apvienojot komandas.