Mida shellid teevad?
Kui logite sisse käsurealt või käivitage Linuxi terminali aken, käivitab süsteem käivitusprogrammi. Korpused pakuvad standardmeetodit käsurea keskkonna laiendamiseks. Kui soovite, võite vahetada teise klahvi.
Esimene shellikeskkond oli Thompson Shell, mis töötati välja Bell Labs'is ja mis avaldati 1971. aastal. Shelli keskkond on sellest ajast alates üles ehitatud, lisades uusi funktsioone, funktsionaalsust ja kiiruse parandusi.
Näiteks pakub Bash käsu ja faili nime täiustamist, täiustatud skriptimisfunktsioone, käsku ajalugu, konfigureeritavaid värve, käskluspiiranguid ja mitmesuguseid muid funktsioone, mis ei olnud veel kättesaadavad 1971. aastal, kui esimene koormus vabastati.
Koori kasutatakse ka taustal erinevate süsteemiteenuste abil. Linuxi distributsioonid hõlmavad paljusid shellipõhiseid skripte. Need skriptid on käsud ja shelli keskkonda läbivad teised täiustatud shelli skriptimisfunktsioonid.
Koorid, mis juhivad Bashini: sh, csh, tsh ja ksh
Kõige silmapaistvam kaasaegsete kestade eelkäija on Bourne kest - tuntud ka kui "sh" - mis sai selle looja Stephen Bourne nime, kes töötas AT & T Bell Labsis. Välja antud 1979. aastal sai see UNIX-i vaikimisi käsu-tõlk, kuna ta toetas käsu asendamist, torustikku, muutujaid, tingimuste testimist ja loopimist koos muude funktsioonidega. See ei paku kasutajatele palju kohandamist ega toetanud selliseid tänapäevaseid peegeldusi nagu varjunimed, käsu lõpuleviimine ja shellifunktsioonid (kuigi see viimane oli lõpuks lisatud).
C shell või "csh" töötati välja 1970. aastate lõpus Bill Joy'ga California ülikoolis Berkley. See lisab palju interaktiivseid elemente, mille abil saavad kasutajad oma süsteeme juhtida, nagu aliased (pikkade käskude otseteed), töö haldamise võimeid, käskude ajalugu ja palju muud. See modelleeriti C-programmeerimiskeelest, millele Unix-i operatsioonisüsteem ise oli kirjutatud. See tähendas ka seda, et Bourne'i shelli kasutajad pidid õppima C-d, et nad saaksid sisestada käske. Lisaks oli csh üsna vähe vigu, mida kasutajad ja loojad peavad pikka aega kasutama. Inimesed jõudsid skriptide Bourne'i shelli kasutades, sest ta haldas mitte-interaktiivseid käske paremini, kuid jäi tavalise kasutusega C-kestale kinni.
Bash sünd
Bash on aastakümnete jooksul alates selle esmakordsest vabastamisest 1989. aastal täiustatud, kuid see on endiselt vaikimisi enamus Linuxi distributsioonidest. See on ka Apple MacOSi vaikimisi kleebis ja see on installimiseks saadaval Microsofti Windows 10-le.
Uuemad kestad: tuhk, kriips, zsh ja kala
Kuigi Linuxi kogukond on Bashilt aastaid tagasi arenenud, ei arendanud arendajad enam uusi korve, kui Bash esimest korda 28 aastat tagasi ilmus.
Kenneth Almquist lõi Bourne shelli klooni nimega Almquish shell, Shell, "tuhk" või mõnikord lihtsalt "sh". see oli ka POSIX-i ühilduv ja sai UNIX-i erineva haru BSD-i vaikeseks. Tuhapakk on kergem kui bash, mis muudab selle populaarseks manustatud Linuxi süsteemides. Kui teil on sisseehitatud Android-telefon BusyBox-i või mõne muu seadmega, millel on tarkvara BusyBox-komplekt, kasutab ta tuhast pärinevat koodi.
Milline peaksite valima? (ja miks Zsh on populaarne)
Teil ei ole vaja koti valida. Teie operatsioonisüsteem valib teie vaikeseadete ja see valik on peaaegu alati bash. Istuge Linuxi leviala või isegi Mac-i ees ja peaaegu alati on teil bash-shelli keskkond. Bashil on üsna vähe täiendavaid funktsioone, kuid te tõenäoliselt neid ei kasuta, kui te ei paku shelliskripte.
Sisseehitatud Linuxi süsteemide või BSD-süsteemide puhul jõuate tuhapõhja. Kuid tuhk on Bourne-põhine koor ja on suuresti kooskõlas bashiga. Kõik bashist saadud teadmised võtavad kasutusele tuha või kriips koti, kuigi mõned selle skemaarse skriptimise funktsioonid pole saadaval.
Peaaegu iga kohe, millega te satute, on Bourne-põhine ja töötab samamoodi - sh zsh.
Sellepärast on zsh populaarne. See uuem shell sobib bashiga, kuid sisaldab rohkem funktsioone. Zsh-shell pakub sisseehitatud õigekirjakorrektsiooni, täiustatud käsurea lõpetamist, laaditavaid mooduleid, mis toimivad teie shelli pistikprogrammideks, globaalsed varjundid, mis võimaldavad lihtsalt käskude asemel nimede failide nimesid või midagi muud käsureal, ja rohkem temaatilist toetust. See on nagu bash, kuid sellel on palju lisasid, lisafunktsioone ja konfigureeritavaid valikuid, mida võiksite hinnata, kui te kulutate käsureal palju aega.
Kui olete bashiga tuttav, võite minna zshile, ilma et õppiksite teistsugust süntaksi - lisategevuste saamine. kui sa oled zshiga tuttav, võite minna bashile ilma, et oleksite õppinud teistsugust süntaksi - just neil omadustel pole juurdepääsu.
On ka teisi kestasid. Näiteks on tcsh-i shell ikka veel ja see on ikkagi valik. FreeBSD kasutab vaikimisi interaktiivset shellit tsch kui selle default root shell ja ash. Kui kasutate C-programme regulaarselt, võib see teile sobida paremini. Kuid see on peaaegu sama, mida tavaliselt kasutatakse bashiks või zshiks.
Kuidas käikude vahel vahetada
Selle katsetamiseks on lihtne minna uuele kestale. Lihtsalt paigaldage oma Linuxi jaotus pakettide haldurist kleebi ja tippige shell käivitamiseks käsk.
Näiteks ütleme, et soovite proovida zshit Ubuntu. Käitate järgmisi käske, et seda installida ja seejärel käivitada.
sudo apt install zsh zsh
Siis oleksite zsh-shellis istumas. Tüüp"
exit
Koel korral jätta see ja naasta oma praeguse kestale.
chsh
või käsuga "Change Shell".
Selle käsu kasutamiseks peate esmalt leidma oma käsurea täieliku tee, millise käsuga. Näiteks ütleme, et soovime muuta zsh-i shelli. Oleksime käivitanud järgmise käsu:
which zsh
Ubuntu puhul annab see meile teada, et binaries zsh on salvestatud / usr / bin / zsh.
Käivitage järgmine käsk, sisestage oma parool ja teil palutakse valida uus sisselogimiskaht:
chsh
Vastavalt ülaltoodud käsule me tahaksime sisestada
/usr/bin/zsh
. Zsh-i shell oleks siis meie vaikimisi, kuni me jooksime
chsh
käsk ja muutis selle tagasi.