22Jul

Kāda ir atšķirība starp Bash, Zsh un citiem Linux korpusiem?

click fraud protection

Lielākā daļa Linux sadalījumu pēc noklusējuma ietver bash apvalku, bet jūs varat arī pārslēgties uz citu apvalka vidi. Zsh ir īpaši populāra alternatīva, un ir arī citi apvalki, piemēram, pelnu, domuzīme, zivis un tcsh. Bet kāda ir atšķirība, un kāpēc tur ir tik daudz?

Ko dara čaulas?

Kad piesakāties komandrindā vai palaiž Linux terminālu, sistēma uzsāk čaulas programmu. Apvalki piedāvā standarta veidu, kā paplašināt komandrindas vidi. Jūs varat mainīt noklusējuma apvalku citam, ja vēlaties.

Pirmā čaumalas vide bija Thompson Shell, kas tika izstrādāta Bell Labs un izlaista 1971. gadā. Shell vide ir balstīta uz šo koncepciju kopš tā laika, pievienojot dažādas jaunas funkcijas, funkcionalitāti un ātruma uzlabojumus.

Piemēram, Bash piedāvā komandu un failu nosaukumu izpildi, uzlabotas skriptu funkcijas, komandu vēsturi, konfigurējamas krāsas, komandu aizstājvārdus un daudzas citas funkcijas, kas nebija pieejamas 1971. gadā, kad tika izlaists pirmais korpuss.

Korpusu fonā izmanto arī dažādi sistēmas pakalpojumi. Linux sadalījumi ietver daudzas funkcijas, kas rakstītas kā čaulas skripti.Šie skripti ir komandas un citas uzlabotas čaulas skriptu funkcijas, kas darbojas caur čaulas vidi.

instagram viewer

apvalki, kas ved uz Bash: sh, csh, tsh un ksh

Visredzamākais mūsdienu čaumalu priekštecis ir Bourne apvalks, kas pazīstams arī kā "sh", kurš tika nosaukts pēc tā radītāja Stephen Bourne, kurš strādāja pie AT & T BellLaboratorijas. Atbrīvots 1979.gadā, tā kļuva par noklusējuma komandu tulku Unix, jo tā atbalsta komandu aizstāšanu, cauruļvadu, mainīgos, stāvokļa testēšanu un cilpu kopā ar citām funkcijām. Tas nepiedāvāja daudz pielāgošanas lietotājiem un neatbalstīja tādus mūsdienu elegances kā aliases, komandu pabeigšanu un čaulas funkcijas( lai gan pēdējais no tiem tika galu galā pievienots).

The C shell, vai "csh", tika izstrādāts 1970. gadu beigās Bill Joy Kalifornijas Universitātē, Berkeley. Tā pievienoja daudz interaktīvu elementu, ar kuriem lietotāji var kontrolēt savas sistēmas, piemēram, pseidonīmus( saīsnes ilgām komandām), darba vadīšanas spējas, komandu vēsturi un daudz ko citu. Tas tika modelēts no C programmēšanas valodas, kurā tika ierakstīta pati Unix operētājsistēma. Tas arī nozīmēja, ka Bourne apvalka lietotājiem bija jāmācās C, lai viņi varētu ievadīt komandas tajā.Turklāt csh bija diezgan maz kļūdu, kas lietotājiem un veidotājiem bija jālikvidē ilgā laika periodā.Cilvēki nonāca, izmantojot skriptu Bourne apvalku, jo tas labāk izmantoja neinteraktīvas komandas, taču to izmantoja normālā veidā, izmantojot C lodziņu.

Laika gaitā daudzi cilvēki fiksēja kļūdas un pievienoja īpašības C čaumalai, kas beidzās ar uzlabotu csh versiju, kas pazīstama kā tcsh. Bet csh joprojām bija noklusējums uz Unix balstītajiem datoriem, un bija pievienojis dažas nestandarta funkcijas. Deivids Korns no Bell Labs strādāja pie KornShell vai "ksh", kas mēģināja uzlabot situāciju, atgriežoties pēc savietojamības ar Bourne apvalka valodu, bet pievienojot daudzas funkcijas no csh apvalka. Tas tika izlaists 1983.gadā, bet ar patentētu licenci. Tā nebija bezmaksas programmatūra līdz 2000. gadam, kad tā tika izlaista saskaņā ar dažādām atvērtā koda licencēm.

BASH

dzimšana Portatīvā operētājsistēmas saskarne, kas paredzēta operētājsistēmai Unix vai POSIX, bija vēl viena atbilde uz drudžainām patentētām csh ieviešanām. Tas sekmīgi izveidoja standarta komandu tulkošanai( cita starpā) un galu galā atspoguļoja daudzas funkcijas KornShell. Vienlaikus GNU projekts mēģināja izveidot bezmaksas Unix saderīgu operētājsistēmu. GNU projekts ir izstrādājis bezmaksas programmatūras čaulu, kas ir daļa no tās brīvās operētājsistēmas, un nosaukusi to par "Bourne Again Shell" vai "bash".

Bash ir uzlabots gadu desmitiem kopš tā pirmās laidiena publicēšanas 1989. gadā, taču šodien tas joprojām ir noklusējuma lodziņš lielākajā daļā Linux izplatītāju. Tas ir arī noklusējuma Apple MacOS apvalks, un tas ir pieejams instalēšanai Microsoft Windows 10.

jaunākās apvalkotās: ash, dash, zsh un zivis

Kamēr Linux kopiena ir nokļuvusi Bash pēc gadiem, izstrādātāji neapstājāsradot jaunas čaulas, kad Bash pirmo reizi tika izlaists pirms 28 gadiem.

Kenneth Almquist izveidoja Bourne apvalka klonu, kas pazīstams kā Almquish čaula, Shell, "pelnu" vai dažreiz vienkārši "sh".tas bija arī saderīgs ar POSIX un kļuva par BSH noklusējuma apvalku, kas ir cita Unix filiāle. Pelnu apvalks ir vieglāks nekā bash, kas padara to populāru iebūvētajās Linux sistēmās. Ja jums ir sakņots Android tālrunis ar instalēto BusyBox vai jebkura cita ierīce ar programmatūras komplektu BusyBox, tā izmanto kodu no pelniem.

Debian izstrādāja čaulas vidi, kas balstīta uz pelniem, un to sauca par "domuzīmi".Tas ir izstrādāts kā POSIX prasībām atbilstošs un viegls, tādēļ tas ir ātrāks nekā Bash, bet tam nav visu funkciju. Ubuntu izmanto domuzīmju apvalku kā noklusējuma apvalku neinteraktīviem uzdevumiem, čaulas skriptu paātrināšanu un citiem uzdevumiem, kas darbojas fonā.Tomēr Ubuntu joprojām izmanto interfeisa čaulas bash, tāpēc lietotājiem joprojām ir pilna interaktīvā vide.

Viens no vispopulārākajiem jaunākiem apvalkiem ir Z apvalks vai "zsh".1990. gadā izveidots Paul Falstad, zsh ir Bourne stila apvalks, kas satur funkcijas, kuras jūs atradīsiet bash, un vēl vairāk. Piemēram, zsh ir pareizrakstības pārbaude, spēja skatīties logins / logouts, dažas iebūvētas programmēšanas funkcijas, piemēram, batekods, sintakse ar zinātnisko uzrakstu atbalstu, pārejas punktu aritmētika un citas funkcijas.

Vēl viens jaunāks apvalks ir Friendly Interactive Shell jeb "fish", kas tika izlaists 2005. gadā. Tam ir unikāla komandrindas sintakse, kas ir veidota tā, lai to būtu mazliet vieglāk apgūt, bet nav iegūta ne no Bourne apvalka, ne C apvalka. Tā ir interesanta ideja, taču tas, ko jūs mācāties, izmantojot zivis, ne vienmēr palīdzēs jums izmantot basu un citu Bourne iegūto čaumalu.

, kuram vajadzētu izvēlēties?(un kāpēc Zsh ir populārs)

Jums nav jāizvēlas apvalks. Jūsu operētājsistēma izvēlas jūsu noklusējuma apvalku, un šī izvēle gandrīz vienmēr ir bash. Sēdies priekšā Linux izplatīšana vai pat Mac - un jums gandrīz vienmēr būs bash čaumalu vide. Bash ir diezgan daudz uzlabotu funkciju, taču jūs, iespējams, neizmantosiet tos, ja neklsējat čaulas skriptus.

Uz iestrādātajām Linux sistēmām vai BSD sistēmām jūs atradīsit pelnu čaulu. Bet pelni ir Bourne bāzes čaulas un lielā mērā ir saderīgi ar bash. Jebkādas zināšanas, kas jums rodas, izmantojot bash, nodos, izmantojot pelnu vai domu čaumalu, lai gan daži uzlaboti skriptu līdzekļi nav pieejami šajā vieglā čaulā.

Gandrīz katrs čaulas, ar kuru jūs sastopaties, ir Bourne bāzēts un darbojas līdzīgi, ieskaitot zsh.

Tieši tāpēc zsh ir populāra.Šis jaunākais čaula ir saderīgs ar bash, bet tajā ir vairākas funkcijas. Zsh apvalks piedāvā iebūvētu pareizrakstības labojumu, uzlabotu komandrindas izpildi, ielādējamus moduļus, kas darbojas kā spraudņi jūsu globālai lietojumprogrammai, globālos aizstājvārdus, kas ļauj izmantot aizstājējvārdu failu nosaukumus vai kaut ko citu komandrindā, nevis tikai komandas, unvairāk tematisku atbalstu. Tas ir kā bash, bet ar daudzām papildierīcēm, papildu funkcijām un konfigurējamām iespējām, kuras jūs varētu novērtēt, ja jūs komandrindā pavadāt daudz laika.

Ja esat iepazinies ar bash, jūs varat pārslēgties uz zsh, nemācot citu sintaksi, jūs vienkārši iegūstat papildu funkcijas.ja jūs esat iepazinies ar zsh, jūs varat pārslēgties uz bash, nemācot citu sintaksi, jums vienkārši nebūs piekļuves šīm funkcijām.

"Oh My ZSH" ir rīks, kas palīdz jums ērtāk iespējot zhs spraudņus un pārslēgties starp priekšmeta motīviem, ātri pielāgot zsh apvalku, neizmantojot tērēšanas laiku.

Ir arī citi čaumalas. Piemēram, tcsh apvalks joprojām atrodas un joprojām ir opcija. FreeBSD izmanto tsch kā noklusējuma saknes čaulu un pelnu kā noklusējuma interaktīvo apvalku. Ja jūs regulāri izmantojat C programmu, tsch varētu būt piemērotāks jums. Tomēr tas nav tik tuvu, cik parasti izmanto kā bash vai zsh.

Kā pārslēgties starp korpusiem

Ir viegli pāriet uz jaunu korpusu, lai to izmēģinātu. Vienkārši instalējiet čaulu no sava Linux izplatīšanas pakotnes pārvaldnieka un ierakstiet komandu, lai palaistu čaulu.

Piemēram, pieņemsim, ka vēlaties izmēģināt zsh uz Ubuntu. Jūs palaidīsit šādas komandas, lai instalētu un pēc tam palaistu to:

sudo apt install zsh zsh

Pēc tam jūs sēdētu zsh apvalkā.Ierakstiet "izejas" pie korpusa, lai to atstātu un atgrieztos pie sava pašreizējā apvalka.

Tas ir tikai īslaicīgs. Katru reizi, kad atverat jaunu termināla logu vai pierakstieties savā sistēmā komandrindā, jūs redzēsiet savu noklusējuma čaulu. Lai mainītu čaulu, kuru redzat, kad pierakstījāties, pazīstams kā jūsu pieteikšanās čaula, jūs parasti varat izmantot komandu chsh vai "Change Shell".

Lai izmantotu šo komandu, vispirms ir jāatrod pilns ceļš uz jūsu apvalku, ar kuru komandu. Piemēram, pieņemsim, ka vēlējāmies mainīt zsh apvalku. Mēs palaistu šādu komandu:

, kas zsh

Uz Ubuntu, tas norāda, ka binārā zsh tiek saglabāta /usr/bin/ zsh.

Izpildiet šādu komandu, ievadiet savu paroli, un jums tiks piedāvāts izvēlēties jaunu pieteikšanās čaulu:

chsh

Saskaņā ar iepriekš minēto komandu mēs ievadīsim /usr/bin/ zsh. Tad zsh apvalks būs mūsu noklusējums, līdz mēs vadīsim komandu chsh un mainīsim to atpakaļ.