Ką veikia "Shells"?
Kai prisijungiate prie komandinės eilutės arba paleidžiate Linux terminalo langą, sistema paleidžia apvalkalo programą. Korpusai siūlo standartinį komandų eilutės aplinkos išplėtimo būdą. Galite pakeisti numatytąjį apvalkalą kitam, jei jums patinka.
Pirmoji apvalkalo aplinka buvo "Thompson Shell", sukurta "Bell Labs" ir išleista 1971 m. "Shell" aplinkai nuo šiol buvo kuriama ši koncepcija, kuri prideda daugybę naujų funkcijų, funkcionalumo ir greičio pagerinimo.
Pavyzdžiui, "Bash" siūlo komandų ir failų vardų užbaigimą, išplėstines scenarijų funkcijas, komandų istoriją, konfigūruojamas spalvas, komandų slapyvardžius ir daugybę kitų funkcijų, kurių negalima naudoti dar 1971 m., Kai buvo išleistas pirmasis lukštas.
Korpusas taip pat naudojamas fone naudojant įvairias sistemos paslaugas. Linux distribucijos apima daugybę funkcijų, parašytų kaip apvalkalo scenarijai. Šie scenarijai yra komandos ir kitos išplėstinės apvalkalo scenarijaus funkcijos vykdomos per aplinką apvalkalo.
Korpusai, vedantys iki Basho: sh, csh, tsh ir ksh
Garsiausias šiuolaikinių kriauklių protegentas yra "Bourne shell", taip pat žinomas kaip "sh", kuris buvo pavadintas jo kūrėjo Stephen Bourne vardu, kuris dirbo AT & T Bell Labs. Išleistas 1979 m., Jis tapo numatytuoju "Unix" komandos interpretuoju, nes jis palaiko komandų pakeitimą, vamzdynus, kintamuosius, būklės bandymus ir looping bei kitas funkcijas. Tai nepasiūlė daug vartotojo pritaikymo ir nepalaiko tokių šiuolaikiškų grakščių peilių kaip aliasai, komandų užbaigimas ir apvalkalo funkcijos (nors galiausiai šis galutinis variantas buvo pridėtas).
C lukštais arba "csh" buvo sukurtas 1970-ųjų pabaigoje Billas Joy Kalifornijos universitete, Berklis. Ji pridėjo daug interaktyvių elementų, su kuriais naudotojai galėtų valdyti savo sistemas, pvz., Slapyvardžius (ilgų komandų spartieji klavišai), darbo valdymo sugebėjimus, komandų istoriją ir dar daugiau. Jis buvo modeliuojamas iš C programavimo kalbos, kuria buvo parašyta pati "Unix" operacinė sistema. Tai taip pat reiškia, kad "Bourne" apvalkalo vartotojai turėjo išmokti C, kad jie galėtų įvesti komandas į jį. Be to, csh turėjo nemažai klaidų, kurias per ilgą laiką naudotojams ir kūrėjams reikėjo įstrigti. Žmonės galų gale panaudojo scenarijus "Bourne shell", nes jis geriau tvarkė neinteraktyvus komandas, bet įstrigo su "C" apvalkalu, kad jis būtų įprastas.
Gimimo bosas
Bash buvo patobulintas per dešimtmečius nuo jo pirmojo leidimo 1989 m., Bet šiandien jis vis dar yra numatytasis lange daugumoje Linux disko. Tai taip pat yra numatytasis "Apple MacOS" apvalkalas, kurį galima įdiegti "Microsoft" "Windows 10".
Naujesni korpusai: pelenai, brūkšniai, zsh ir žuvys
Nors "Linux" bendruomenė pastaraisiais metais apsigyveno "Bash", nuo tada, kai "Bash" buvo išleista prieš 28 metus, kūrėjai nesustojo kurti naujų kriauklių.
Kennethas Almquistas sukūrė "Bourne shell" kloną, žinomą kaip "Almquish shell", "Shell", "peleną" arba kartais tiesiog "sh". tai taip pat buvo suderinama su POSIX ir tapo BSD, kito Unix filialo, numatytuoju lukštais. Pelenų apvalkalas yra lengvesnis už bash, todėl jis yra populiarus įterptųjų Linux sistemose. Jei turite įdiegtą "Android" telefoną su "BusyBox" arba bet kokiu kitu prietaisu, kuriame yra programinės įrangos komplektas "BusyBox", jis naudoja kodą iš pelenų.
Kuris turėtų pasirinkti? (ir kodėl Zsh yra populiarus)
Jums nereikia pasirinkti korpuso. Jūsų operacinė sistema pasirenka jūsų numatytąjį apvalkalą, ir šis pasirinkimas beveik visada yra bash. Prisitaikykite prie "Linux" paskirstymo ar net "Mac", ir jūs beveik visada turėsite "bash shell" aplinką. "Bash" turi keletą papildomų funkcijų, bet tikriausiai nenaudosite jų, nebent jūs sukursite shell scenarijus.
Įdiegtose "Linux" sistemose ar BSD sistemose jūs susidursite su pelenų apvalkalu. Bet pelenai yra "Bourne" pagrindu pagaminta apvalkale ir labiausiai suderinama su "bash". Bet kokios žinios, kurias turėsite naudoti bash, perkelia į pelenų ar brūkšnelių apvalkalą, nors šiame lengvame apvalkale nėra papildomų scenarijaus funkcijų.
Beveik kiekvienas lukštas, su kuriuo susidūrėte, yra Bourne ir veikia panašiai, įskaitant zsh.
Štai kodėl zsh yra populiarus. Šis naujesnis apvalkalas suderinamas su "bash", bet apima ir daugiau funkcijų. "Zsh shell" turi integruotą rašybos korekciją, patobulintą komandinės eilutės užbaigimą, įkeliamus modulius, kurie veikia kaip įskiepiai jūsų apvalkale, visuotinėse aliase, leidžiančiose pervadinti failų pavadinimus ar dar ką nors iš komandinės eilutės, o ne komandas, ir daugiau teminės paramos. Tai yra kaip bash, bet su daugybe priedų, papildomų funkcijų ir konfigūruojamų parinkčių, kurias galėtumėte vertinti, jei komandinėje eilutėje praleisite daug laiko.
Jei esate susipažinęs su bash, galite pereiti į zsh nesimokydami kitokios sintaksės - jūs tiesiog gausite papildomų funkcijų. Jei esate susipažinę su "zsh", galite pereiti į "bash" nesimokydami kito sintakso - jūs tiesiog negalėsite naudotis šiomis funkcijomis.
Yra ir kitų korpusų. Pavyzdžiui, tcsh apvalkalas vis dar yra ir vis dar yra pasirinkimas. FreeBSD naudoja tsch kaip numatytąjį šakninį kodą ir peleną kaip numatytąjį interaktyvųjį apvalkalą. Jei reguliariai naudojate "C" programas, tsch gali būti jums tinkamesnis. Tačiau tai nėra arti, kaip dažnai naudojama kaip bash arba zsh.
Kaip perjungti tarp korpusų
Nesunku pereiti prie naujos apvalkalo, kad išbandytumėte. Tiesiog įdiekite "shell" iš "Linux" paskirstymo paketų tvarkytuvo ir įveskite komandą, kad paleistumėte "shell".
Pavyzdžiui, tarkime, kad norite išbandyti zsh Ubuntu. Norėdami įdiegti ir paleisti ją, paleiskite šias komandas:
sudo apt install zsh zsh
Tuomet sėdėtės zsh lukštuose. Tipas"
exit
Prie lukšto palikite jį ir grįžkite į savo dabartinę lukštą.
chsh
arba "Keisti Shell" komandą.
Norėdami naudoti šią komandą, pirmiausia turėsite rasti visą kelią į savo apvalkalą, su kuria komanda. Pavyzdžiui, tarkime, mes norėjome pakeisti zsh apvalkalu. Mes paleisime šią komandą:
which zsh
Apie "Ubuntu" tai sako, kad binārs zsh yra saugomas / usr / bin / zsh.
Paleiskite šią komandą, įveskite savo slaptažodį ir būsite paraginti pasirinkti naują prisijungimo apvalkalą:
chsh
Pagal pirmiau pateiktą komandą mes norėtume įvesti
/usr/bin/zsh
. Tada zsh lukštas bus mūsų numatytasis, kol mes paleisime
chsh
komandą ir pakeitė jį atgal.