Mitä eroa on Bashin, Zsh:n ja muiden Linuxin kuorien välillä?

Olemme käsitelleet komentotulkkikomentosarjan aiheita, koska Linuxin voi laittaa melkein mihin tahansa. Komentorivikuoren monipuolisuus todella mahdollistaa tämän, mutta mikä tekee jokaisesta kuoresta erilaisen ja miksi ihmiset suosivat toisiaan?

Mitä Shells tekee?

Komentorivi on erittäin mielenkiintoinen asia. Aikaisemmin sitä pidettiin edistyneimpana käyttöliittymänä, mutta se on mennyt liivien ja mustekynien tapaan: sitä on vältetty reuna-alueille. Vaikka näet niissä edelleen suuren osan tarkoituksesta ja hyödyllisyydestä, ne jätetään yleensä syrjään ensisijaisesti harrastajien arvostettaviksi, pääasiassa siksi, että he käyttävät aikaa oppiakseen niiden läpikotaisin. Itse asiassa minkä tahansa käyttöjärjestelmän komentorivillä on paljon omituisuuksia, koska helppo käyttöjärjestelmä tulkitsee komennot eri tavalla. Nykyään tämä ongelma on pääasiassa Linuxin, OS X:n ja Windowsin välillä, mutta aiemmin tämä oli ongelma useimmissa tietokoneissa.



what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 2

(kuva Blakespotista)

Shells tuli kuvaan ja salli komentorivin standardin laajennuksen tavalla, joka oli paljon huomaamattomampi. Shells lisäsi paljon toimintoja, kuten komentojen ja tiedostonimien viimeistelyä ja kehittyneempiä komentosarjaominaisuuksia, ja auttoi tuomaan joitain suorituskyvyn parannuksia. He tekivät myös paljon kattaakseen joitain ärsyttäviä ongelmia. Esimerkiksi Unixissa et voinut varmuuskopioida symbolilinkkien kautta hakemistoihin ennen niiden seuraamista. Kaiken kaikkiaan he lisäsivät ominaisuuksia, joiden avulla käyttäjät saivat työnsä tehtyä nopeammin ja tehokkaammin, aivan kuten Linuxin lukuisat vaihtoehtoiset ikkunanhallintaohjelmat.

Miksi niitä on niin paljon?

what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 3

Nykyaikaisten kuorien näkyvin esi-isä on Bourne-kuori, joka tunnetaan nimellä 'sh', joka on nimetty AT&T:llä työskennellyt luojansa Stephen Bournen mukaan. Siitä tuli oletusarvoinen Unix-komentotulkki, koska se tukee komentojen korvaamista, putkistoa, muuttujia, kuntotestausta ja silmukoita sekä muita ominaisuuksia. Tämä oli aikakaudella, jolloin ohjelmointi todella meni yhdessä komentorivin käytön kanssa, käytäntö, jonka monet väittävät olevan laimennettu nykyään. Se ei tarjonnut käyttäjille paljon liikkumavaraa käyttäjien mukauttamiseen, kuten aliaksiin, komentojen suorittamiseen ja komentotulkkitoimintoihin (vaikka tämä viimeinen lisättiin lopulta).

C shell ('csh') kehitettiin Bill Joylla UCB:ssä ja se järisi todella paljon. Se lisäsi paljon interaktiivisia elementtejä, joita käyttäjät voivat käyttää järjestelmiensä ohjaamiseen, kuten aliaksia (pitkien komentojen pikakuvakkeita), työnhallintakykyjä, komentohistoriaa ja paljon muuta. Se oli mallinnettu C-ohjelmointikielestä, mikä oli mielenkiintoinen idea, koska Unix oli kirjoitettu C-kielellä. Se merkitsi myös sitä, että Bourne-kuoren käyttäjien oli opittava C, jotta he voisivat kirjoittaa siihen komentoja. Lisäksi siinä oli paljon bugeja, jotka käyttäjien ja tekijöiden piti paljastaa pitkän ajan kuluessa. Ihmiset päätyivät käyttämään Bourne-kuorta komentosarjoille, koska se käsitteli ei-interaktiivisia komentoja paremmin, mutta pysyi C-kuoren kanssa normaalissa käytössä.

Ajan myötä monet ihmiset korjasivat virheet ja lisäsivät ominaisuuksia C-kuoreen, mikä huipentui tcsh-nimiseen. Ongelmana oli siis se, että hajautetuissa Unix-pohjaisissa tietokoneissa csh oli edelleen oletusarvo, ja siihen oli lisätty joitain ei-standardiominaisuuksia, mikä loi (jälkeenpäin katsottuna) erittäin hajanaisen sotkun. Sitten David Korn AT&T:stä työskenteli Korn-kuoren – ‘ksh’ – parissa, joka yritti lieventää tilannetta käyttämällä Bournen kuoren kieltä pohjana, mutta lisäsi kaikki uudet ominaisuudet, joihin kaikki olivat tottuneet. Valitettavasti monille se ei ollut ilmaista.

Toinen vastaus hektisiin patentoituihin csh-toteutuksiin oli Portable Operating System Interface for Unix tai POSIX. Se oli onnistunut yritys luoda standardi komentojen tulkinnalle (muun muassa) ja lopulta heijasti monia Korn-kuoren ominaisuuksia. Samanaikaisesti GNU-projekti oli käynnissä ja se oli yritys luoda ilmainen käyttöjärjestelmä, joka oli täysin Unix-yhteensopiva. Se kehitti kuoren omaa tarkoitustaan ​​varten: Bourne Again -kuoren, joka muodostettiin lyömällä yhteen ominaisuuksia sh:stä, csh:sta ja ksh:sta. Lopputulos oli jälkikäteen katsottuna melko vaikuttava.

Kenneth Almquist loi Bourne-shell-kloonin - 'ash' - joka oli POSIX-yhteensopiva ja josta tulee oletuskuori BSD:ssä, Unixin eri haarassa/kloonissa. Sen ainutlaatuisuus on, että se on todella kevyt, joten siitä tuli erittäin suosittu sulautetuissa Linux-järjestelmissä. Jos sinulla on juurtunut Android-puhelin, johon on asennettu BusyBox, se käyttää tuhkakoodia. Debian kehitti tuhkaan perustuvan kloonin nimeltä 'dash'.

what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 5

(Kuvan on ottanut othree)

Yksi näkyvimmistä uusista kuorista on 'zsh', jonka Paul Falstad on kehittänyt vuonna 1990. Se on Bourne-tyylinen kuori, joka ottaa ominaisuuksia bashista ja aiemmista kuorista ja lisää vielä enemmän ominaisuuksia. Siinä on oikeinkirjoituksen tarkistus, mahdollisuus tarkkailla sisään-/uloskirjautumisia, joitain sisäänrakennettuja ohjelmointiominaisuuksia, kuten tavukoodi, tuki tieteelliselle merkintätavalle syntaksissa, mahdollistaa liukulukuaritmeettisen käytön ja sitten joitain. Toinen on Friendly Interactive Shell, 'kala', joka keskittyy komentosyntaksiin, joka on helppo muistaa ja käyttää.

Kaiken kaikkiaan useimmat kuoret luotiin aiempien kuorien klooneina, jotka lisäsivät toimintoja, korjasivat bugeja ja ohittivat lisenssiongelmat ja -maksut. Huomattavia poikkeuksia ovat alkuperäinen Bourne-kuori ja C-kuori sekä sekä rc-kuori että ash, jotka eivät ole täysin alkuperäisiä, mutta joilla on ehdottomasti jonkin verran hyödyllisyyttä.

Mitä minun pitäisi käyttää?

what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 6

Kun laitteita on niin paljon, luulisi, että on vaikea valita käytettävää kuorta, mutta se ei itse asiassa ole kovin vaikeaa. Koska niin monet perustuvat Bourne-kuoreen, perusasiat ovat samat useimpien kuorien välillä.

Bash on laajimmin käytetty shell, ja se on oletusarvo useimmille Linux-jakeluille. Se on todella kestävä ja siinä on paljon ominaisuuksia, joista useimpia et todennäköisesti käytä, ellet ohjelmoi, joten on melko turvallista sanoa, että voit pitää kiinni tästä. Koska se on niin yleinen, se sopii täydellisesti eri alustoilla käytettävien asioiden komentosarjaan. Jos haluat kokeilla jotain erilaista, joka on hieman käyttäjäystävällisempi, voit kokeilla kalaa.

Jos puuhailet paljon sulautettujen Linux-järjestelmien kanssa, haluat laittaa Linuxin naurettavien asioiden, kuten Nintendo DS:n, päälle tai pidät todella Debianista, ash/dash sopii sinulle luultavasti parhaiten. Jälleen, se toimii enimmäkseen kuten muutkin, mutta koska se on tavallaan paljas ja kevyt, huomaat, että monimutkaisempia toimintoja puuttuu.

what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 7

(Kuva: renrutal)

Jos aiot ohjelmoida tai oppia kehittymään komentorivillä, sinun on oltava hieman valikoivampi. Bash on hieno valinta, mutta tiedän tarpeeksi ihmisiä, jotka ovat vaihtaneet Zsh:hen sen lisäominaisuuksien vuoksi. Luulen, että se riippuu todella siitä, kuinka monimutkaisia ​​​​projekteistasi tulee ja minkä tyyppisiä toimintoja haluat kuoresta. Jotkut ihmiset pitävät edelleen kiinni tcsh:stä, koska he tietävät ja käyttävät C:tä säännöllisesti ja se on heille helpompaa. On todennäköistä, että jos et ole varma, minkä kuoren valitset, et todennäköisesti ohjelmoi paljon, joten yritä valita jotain, joka sopii yhteen sen kanssa, mitä haluat oppia, ja tutkia, mitä muut kyseisellä alalla käyttävät.

Voit helposti asentaa ja poistaa erilaisia ​​kuorita Ubuntun ohjelmistokeskuksen tai haluamasi paketinhallinnan avulla. Shellit sijaitsevat /bin/-hakemistossa, ja niin kauan kuin käytät nykyaikaista Linux-jakelua, oletusasetusta on helppo muuttaa. Kirjoita vain seuraava komento:

chsh

Sinua pyydetään antamaan salasanasi, jonka jälkeen voit vaihtaa toiseen kuoreen kirjoittamalla sen polun.

what-and-8217;s-the-differen-between-bash-zsh-ja-other-linux-shells kuva 8

Hakasulkeissa näet nykyisen oletusarvosi, ja jos haluat jättää sen ennalleen, paina Enter.


Pidätkö bashista? Onko sinulla toinen suosikkikuori? Mikä on eniten käyttämäsi ominaisuus? Kerro meille mielipiteesi kommenteissa!

Lisää tarinoita

Mitä sanoit: Seuraatko kaistanleveyden käyttöäsi?

Aiemmin tällä viikolla pyysimme sinua kertomaan, kuinka (jos ollenkaan) valvot kaistanleveyttäsi sekä kotiverkoissa että mobiililaitteissa. Palaamme jakamaan suosikkityökalusi ja -vinkkesi.

Viikonloppuprojekti: Rakenna hiilikuitukotelo suosikkilaitteellesi

Jos olet koskaan nähnyt hiilikuitua, olet todennäköisesti luullut, että se on jonkinlainen avaruusajan materiaali, jota voidaan valmistaa vain tarkasti valvotuissa olosuhteissa tehtaalla.

Perjantain hauskaa: Rooman palapeli

Viikonloppu on pian täällä, mutta ennen kuin voit lähteä kotiin, miksi et rentoutuisi ja ota työpäiväsi särmä? Tämän viikon pelissä sinulla on mahdollisuus loistoon ja mahdollisuus vierailla Olympuksessa, kun työskentelet rakentaaksesi uutta kaupunkia muinaisen Rooman menneelle aikakaudelle.

Vihjelaatikosta: Useiden taustakuvien valitseminen, nopea iBook-navigointi ja sovellusten hintojen seuranta

Kerran viikossa avaamme vihjelaatikon ja jaamme lähettämäsi upeat vinkit. Tällä viikolla tarkastelemme, kuinka voit helposti määrittää useita taustakuvia Windows 7:ssä, purkaa iBookin läpi ja seurata sovellusten hintojen laskua.

Mahtavia paperilentokoneita hauskanpitoon kotona tai töissä [Geek Fun]

Onko sinulla yksi niistä päivistä, jolloin olet kyllästynyt ja haluat tehdä jotain hauskaa? Ota sitten paperia ja luo oma henkilökohtainen paperilentokonekantasi tämän mahtavan ohjekaavion avulla!

Aloittelija: Kuinka vaihtaa iGooglesta takaisin tavalliselle Google-etusivulle

Tänään eräs lukija kirjoitti meille, että heidän kotisivunsa oli aiemmin Google, mutta nyt he näyttävät olevan jumissa sen sijaan iGooglessa ja haluaisivat mieluummin vanhan Googlen takaisin. Tässä on mitä kerroimme heille.

Canto muuttaa YouTuben Jukeboksiksi

Vieraile Cantiossa ja voit etsiä musiikkia sydämesi kyllyydestä. Luo ilmainen tili, niin voit luoda soittolistoja, katsella musiikkiin liittyviä videoita ja hakea artistitietoja. Lisäksi...

Google Maps Androidille tukee nyt offline-välimuistia

Google Maps Androidille on loistava tapa löytää paikkasi, mutta entä jos olet alueella, jossa on huonot yhteydet? Uusi latauskartta-alue tallentaa karttoja välimuistiin offline-käyttöä varten.

Tipukahvinkeittimien fysiikka [Video]

Vesi tulee sisään ja kahvi tulee ulos. Yksinkertaista, eikö? Vaikka kahvinkeitin saattaa olla helppokäyttöinen ja siinä voidaan käyttää vain vähän osia työn suorittamiseksi (ja prosessin kustannusten pitämiseksi alhaisina), prosessin fysiikka on kiehtovaa....

Kuinka avata tietokoneesi lukitus olemalla lähellä (Bluetooth-puhelimella)

Kuvittele: kävelet huoneeseesi, istut tietokoneesi edessä ja se avautuu itsestään. Lopetat tekemäsi, kävelet pois, ja se lukittuu. Ei, se ei ole taikuutta – se on Bluetooth ja se on helppo asentaa!