Mis vahe on Bash'i, Zshi ja teiste Linuxi kestade vahel?

Sisukord:

Mis vahe on Bash'i, Zshi ja teiste Linuxi kestade vahel?
Mis vahe on Bash'i, Zshi ja teiste Linuxi kestade vahel?

Video: Mis vahe on Bash'i, Zshi ja teiste Linuxi kestade vahel?

Video: Mis vahe on Bash'i, Zshi ja teiste Linuxi kestade vahel?
Video: Samsung Gear S3 Tizen 4.0 Update 2019 gear s3 frontier - YouTube 2024, Aprill
Anonim
Enamik Linuxi distributsioonid sisaldavad vaikimisi bash-shelli, kuid võite ka teise shellikeskkonnaga üle minna. Zsh on eriti populaarne alternatiiv ja seal on ka teisi kestasid nagu tuhk, kriips, kala ja tcsh. Aga mis vahe on ja miks on nii palju inimesi?
Enamik Linuxi distributsioonid sisaldavad vaikimisi bash-shelli, kuid võite ka teise shellikeskkonnaga üle minna. Zsh on eriti populaarne alternatiiv ja seal on ka teisi kestasid nagu tuhk, kriips, kala ja tcsh. Aga mis vahe on ja miks on nii palju inimesi?

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.

Aja jooksul on paljud inimesed fikseerinud vead ja lisasid C-shelli funktsioonid, mis lõpevad täiustatud csh-i versiooniga tuntud kui tcsh-ga. Kuid csh oli Unix-põhistel arvutitel ikkagi vaikimisi ja lisanud mõned mittestandardsed funktsioonid. Bell Klaasilaborist pärit David Korn töötas KornShellil või "ksh", kes püüdis olukorda parandada Bourne'i shelli keelega tagurpidi ühilduvas versioonis, kuid lisades csh shellile palju funktsioone. See ilmus 1983. aastal, kuid omandatud litsentsi all. See ei olnud vaba tarkvara kuni 2000ndateni, mil see vabastati erinevate avatud lähtekoodiga litsentside all.
Aja jooksul on paljud inimesed fikseerinud vead ja lisasid C-shelli funktsioonid, mis lõpevad täiustatud csh-i versiooniga tuntud kui tcsh-ga. Kuid csh oli Unix-põhistel arvutitel ikkagi vaikimisi ja lisanud mõned mittestandardsed funktsioonid. Bell Klaasilaborist pärit David Korn töötas KornShellil või "ksh", kes püüdis olukorda parandada Bourne'i shelli keelega tagurpidi ühilduvas versioonis, kuid lisades csh shellile palju funktsioone. See ilmus 1983. aastal, kuid omandatud litsentsi all. See ei olnud vaba tarkvara kuni 2000ndateni, mil see vabastati erinevate avatud lähtekoodiga litsentside all.

Bash sünd

Unixi või POSIXi kaasaskantava operatsioonisüsteemi liides oli teine vastus ärevuses olevatele csh-rakendustele. See lõi edukalt käsu tõlgendamise standardi (muu hulgas) ja lõpuks peegeldas palju funktsioone KornShellis. Samal ajal üritas GNU-projekt luua tasuta Unix-i ühilduva operatsioonisüsteemi. GNU-projekt arendas oma vaba operatsioonisüsteemi osaks oleva vaba tarkvarakasti ja nimetas selle "Bourne Again Shell" või "bash".
Unixi või POSIXi kaasaskantava operatsioonisüsteemi liides oli teine vastus ärevuses olevatele csh-rakendustele. See lõi edukalt käsu tõlgendamise standardi (muu hulgas) ja lõpuks peegeldas palju funktsioone KornShellis. Samal ajal üritas GNU-projekt luua tasuta Unix-i ühilduva operatsioonisüsteemi. GNU-projekt arendas oma vaba operatsioonisüsteemi osaks oleva vaba tarkvarakasti ja nimetas selle "Bourne Again Shell" või "bash".

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.

Debian arendas tuhale tugineva shellikeskkonna ja nimetas selle "kriipsuks". Selle eesmärk on olla POSIX-ile vastav ja kerge, seega on see kiirem kui Bash, kuid tal pole kõiki funktsioone. Ubuntu kasutab dash-i shelli kui mitte-interaktiivsete ülesannete vaikeseadet, taustal skriptide ja muude ülesannete kiirendamist.Kuid Ubuntu kasutab ikkagi interaktiivsete kestade jaoks bashit, nii et kasutajatel on endiselt täisfunktsionaalne interaktiivne keskkond.
Debian arendas tuhale tugineva shellikeskkonna ja nimetas selle "kriipsuks". Selle eesmärk on olla POSIX-ile vastav ja kerge, seega on see kiirem kui Bash, kuid tal pole kõiki funktsioone. Ubuntu kasutab dash-i shelli kui mitte-interaktiivsete ülesannete vaikeseadet, taustal skriptide ja muude ülesannete kiirendamist.Kuid Ubuntu kasutab ikkagi interaktiivsete kestade jaoks bashit, nii et kasutajatel on endiselt täisfunktsionaalne interaktiivne keskkond.
Üks populaarsemaid uuemaid kestasid on Z-shell või "zsh". 1990. aastal loodud Paul Falstadi poolt loodud zsh on Bourne-tüüpi kest, mis sisaldab funktsioone, mida leiate bashist ja veelgi rohkem. Näiteks zshil on õigekirjakontroll, võime jälgida sisselogimise / logoutsi, mõningaid sisseehitatud programmeerimisfunktsioone, nagu baiti kood, süntaksil teaduslike märkide toetaja, ujukoma aritmeetika ja rohkem funktsioone.
Üks populaarsemaid uuemaid kestasid on Z-shell või "zsh". 1990. aastal loodud Paul Falstadi poolt loodud zsh on Bourne-tüüpi kest, mis sisaldab funktsioone, mida leiate bashist ja veelgi rohkem. Näiteks zshil on õigekirjakontroll, võime jälgida sisselogimise / logoutsi, mõningaid sisseehitatud programmeerimisfunktsioone, nagu baiti kood, süntaksil teaduslike märkide toetaja, ujukoma aritmeetika ja rohkem funktsioone.
Veel üks uuem kest on 2005. aastal välja pandud sõbralik interaktiivne shell või kala. Sellel on unikaalne käsurea süntaks, mis on kavandatud natuke lihtsamaks õppimiseks, kuid ei tule mitte Bourne'i shellist ega C-kestast. See on huvitav mõte, kuid see, mida õpid läbi kalade kasutamise kaudu, ei pruugi tingimata aidata teil kasutada Bashi ja teisi Bourne päritolu kestusi.
Veel üks uuem kest on 2005. aastal välja pandud sõbralik interaktiivne shell või kala. Sellel on unikaalne käsurea süntaks, mis on kavandatud natuke lihtsamaks õppimiseks, kuid ei tule mitte Bourne'i shellist ega C-kestast. See on huvitav mõte, kuid see, mida õpid läbi kalade kasutamise kaudu, ei pruugi tingimata aidata teil kasutada Bashi ja teisi Bourne päritolu kestusi.

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.

"Oh My ZSH" on tööriist, mis aitab teil zsh-lisandmooduleid hõlpsamini sisse lülitada ja vahetada premade teemasid, kohandades oma zsh-i koti kiiresti, ilma et kulutaksite tundide tõhustamist.
"Oh My ZSH" on tööriist, mis aitab teil zsh-lisandmooduleid hõlpsamini sisse lülitada ja vahetada premade teemasid, kohandades oma zsh-i koti kiiresti, ilma et kulutaksite tundide tõhustamist.

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.

See on ajutine. Kui avate uue terminali akna või logite oma süsteemisse käsureale, näete oma vaikekoori. Kui soovite sisselogimisel näha kotti - tuntud kui teie sisselogimisnäht - saate seda tavaliselt kasutada
See on ajutine. Kui avate uue terminali akna või logite oma süsteemisse käsureale, näete oma vaikekoori. Kui soovite sisselogimisel näha kotti - tuntud kui teie sisselogimisnäht - saate seda tavaliselt kasutada

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.

Soovitan: