Mitä shellit tekevät?
Kun kirjaudut sisään komentorivillä tai käynnistät päätelaitteen ikkunan Linuxissa, järjestelmä käynnistää kuoriohjelman. Shellit tarjoavat tavallisen tavan laajentaa komentorivin ympäristöä. Voit vaihtaa oletuskuoren toiseen, jos haluat.
Ensimmäinen kuoriympäristö oli Thompson Shell, joka on kehitetty Bell Labsissa ja julkaistu vuonna 1971. Shell-ympäristöt ovat rakentaneet konseptia siitä lähtien, lisäämällä erilaisia uusia ominaisuuksia, toimintoja ja nopeusparannuksia.
Esimerkiksi Bash tarjoaa komento- ja tiedostonimien täydennykset, edistykselliset komentotiedosto-ominaisuudet, komentohistorian, konfiguroitavat värit, komennon aliaksit ja monia muita ominaisuuksia, joita ei ollut saatavana jo vuonna 1971, kun ensimmäinen kuori julkaistiin.
Kuoria käytetään myös erilaisissa järjestelmäpalveluissa taustalla. Linux-jakeluihin sisältyy monia komentotiedostoina kirjoitettuja toimintoja. Nämä komentosarjat ovat komentoja ja muita edistyksellisiä komentojen komentotiedostoja, jotka suoritetaan shell-ympäristön kautta.
Shells Leading to Bash: sh, csh, tsh ja ksh
Nykyaikaisten kuorien merkittävin esi-isä on Bourne-kuori, joka tunnetaan nimellä "sh", joka on nimetty AT & T: n Bell Labs -yrityksen palveluksessa työskentelevän tekijän Stephen Bournen nimestä. Julkaistu vuonna 1979, se tuli Unixin komentotulkinnan oletuskomento, koska se tuki komentojen korvaamista, putkistoja, muuttujia, kunnon testausta ja silmukoitumista sekä muita ominaisuuksia. Se ei tarjoa paljon muokkausta käyttäjille, eikä se tue sellaisia nykyaikaisia hienouksia kuin aliaksia, komennon valmistumista ja kuoritoimintoja (vaikka viimeinen lisäsi lopulta).
C-kuori tai "csh" kehitettiin 70-luvun lopulla Bill Joy'ssa Kalifornian yliopistossa, Berkleyssä. Se lisäsi paljon vuorovaikutteisia elementtejä, joiden avulla käyttäjät voivat hallita järjestelmiään, kuten aliaksia (pikanäppäimet pitkille komennoille), työnhallintatoiminnot, komentohistoria ja paljon muuta. Se oli mallinnettu pois C-ohjelmointikieltä, johon Unix-käyttöjärjestelmä kirjoitettiin sisään. Tämä tarkoitti myös sitä, että Bourne-kuoren käyttäjät joutuivat oppimaan C: n, jotta he voisivat syöttää komentoja siihen. Lisäksi csh: llä oli melko vähän vikoja, joita käyttäjät ja tekijät joutuivat hankkimaan yhtä paljon aikaa. Ihmiset päätyivät käyttämään Bourne-kuorta komentojonojen suhteen, koska se käsitteli muita kuin interaktiivisia komentoja paremmin, mutta juuttui C-kuoriin tavalliseen käyttöön.
Syntyminen bash
Bash on parantunut vuosikymmeninä sen ensimmäisestä julkaisusta vuonna 1989, mutta se on edelleen tärkein kuori useimmissa Linux-jakeluissa tänään. Se on myös Apple-MacOS: n oletushaku, ja se on saatavana asennettavaksi Microsoftin Windows 10: een.
Uudemmat säiliöt: tuhka, viiva, zsh ja kala
Linux-yhteisö on asettunut Bashiin vuosien kuluessa, mutta kehittäjät eivät lopettaneet uusien kuvien luomista, kun Bash julkaistiin 28 vuotta sitten.
Kenneth Almquist loi Bourne-kuorikloonin, joka tunnetaan nimellä Almquish-kuori, Shell, "tuhka" tai joskus vain "sh". se oli POSIX-yhteensopiva ja siitä tuli BSD: n oletuskuvake, joka on Unixin erilainen haara. Tuhkakuori on kevyempi kuin bash, joten se on suosittu upotetuissa Linux-järjestelmissä. Jos sinulla on juurrutettu Android-puhelin, jossa BusyBox on asennettu - tai mikä tahansa muu laite, jossa on BusyBox-ohjelmistopaketti - käyttää tuhkan koodia.
Mitkä valitsit? (ja miksi Zsh on suosittu)
Sinun ei tarvitse valita kuoria. Käyttöjärjestelmäsi valitsee oletuskuvasi sinulle, ja valinta on lähes aina bash. Istu edessä Linux-jakeluun - tai jopa Maciin - ja sinulla on lähes aina bash-kuoriympäristö. Bashilla on melkoiset lisäominaisuudet, mutta luultavasti niitä ei käytetä, ellet ohjelmoi komentosarjoja.
Sulautetuissa Linux-järjestelmissä tai BSD-järjestelmissä pääset tuhkakuoriin. Mutta tuhka on Bourne-pohjainen kuori ja se on pitkälti yhteensopiva bashin kanssa. Kaikki tiedostosi käyttämäsi tieto siirretään tuhka- tai viivakoodin käyttämiseen, vaikka jotkin kehittyneet komentotiedostot eivät ole käytettävissä tässä kevyessä kuoressa.
Lähes jokainen kuori, jonka kohtaat, on Bourne-pohjainen ja toimii samalla tavoin - mukaan lukien zsh.
Siksi zsh on suosittu. Tämä uudempi kuori on yhteensopiva bashin kanssa, mutta siinä on useita ominaisuuksia. Zsh-kuori tarjoaa sisäänrakennetun kirjoituskorjauksen, parannetun komentorivin valmistumisen, kuormitettavat moduulit, jotka toimivat shellisi laajennuksina, globaaleja aliasteja, joiden avulla voit alias tiedostojen nimet tai jotain muuta komentorivillä vain komentojen sijaan ja lisää teemoitusta. Se on kuin bash, mutta paljon lisäominaisuuksia, lisäominaisuuksia ja muokattavissa olevia vaihtoehtoja, jotka arvostaisit, jos käytät paljon aikaa komentorivillä.
Jos olet perehtynyt bashiin, voit vaihtaa zsh: ää ilman oppimista eri syntaksista - saat lisäominaisuuksia. jos olet perehtynyt zsh: iin, voit siirtyä bashiin ilman eri syntaksin oppimista - et vain pääse kyseisiin ominaisuuksiin.
On myös muita kuoria. Esimerkiksi tcsh-kuori on vielä ympärillä ja on edelleen vaihtoehto. FreeBSD käyttää tsch: tä oletuksena juuri- ja tuhkana oletuksena vuorovaikutteisena kuorena. Jos käytät C-ohjelmointia säännöllisesti, tsch saattaa olla sinulle sopivampi. Kuitenkin se ei ole läheskään yhtä yleisesti käytetty bash tai zsh.
Kuinka vaihtaa Shellin välillä
Se on helppo vaihtaa uusi kuori kokeilla sitä. Asenna kuori vain Linux-jakelun paketinhallinnasta ja kirjoita komento komentoriville.
Oletetaan esimerkiksi, että haluat kokeilla zsh Ubuntussa. Voit suorittaa seuraavat komennot ja käynnistää sen seuraavasti:
sudo apt install zsh zsh
Sitten istuisit zsh-kuoressa. Kirjoita"
exit
Kuoressa, jätä se ja palaa nykyiseen kuoriasi.
chsh
tai "Muuta Shell", komento.
Jotta voit käyttää tätä komentoa, sinun on ensin löydettävä koko polku kuoriisi johon komento. Oletetaan esimerkiksi, että halusimme vaihtaa zsh-kuoriin. Käytimme seuraavaa komentoa:
which zsh
Ubuntussa tämä kertoo, että zsh-binääri on tallennettu osoitteessa / usr / bin / zsh.
Suorita seuraava komento, kirjoita salasanasi ja sinua pyydetään valitsemaan uusi sisäänkirjautumissuoja:
chsh
Yllä mainitun komennon mukaan pääsemme
/usr/bin/zsh
. Zsh-kuori olisi sitten oletusarvo, kunnes juoksimme
chsh
komento ja muuttanut sen takaisin.