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

Satura rādītājs:

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

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

Video: Kāda ir atšķirība starp Bash, Zsh un citiem Linux korpusiem?
Video: P36 SMART WATCH: Things To Know // Real Life Review - YouTube 2024, Aprīlis
Anonim
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?
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 jūs pierakstieties komandrindā vai palaidiet 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 tika izdota 1971. gadā. Shell videi kopš šī brīža ir veidota koncepcija, kas papildina 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, kuras 1971. gadā nebija pieejamas, 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.

Korpusu vadīšana līdz 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 Bell Labs. 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).

C čaulas vai "csh" 1970. gadu beigās izstrādāja Bill Joy Kalifornijas Universitātē, Berkli. 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 izturēja neinteraktīvas komandas, bet bija iestrēdzis ar C apvalku normālai lietošanai.

Laika gaitā daudzi cilvēki fiksēja kļūdas un pievienoja funkcijas 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 pat 2000.gadiem, kad tā tika izlaista saskaņā ar dažādām atvērtā koda licencēm.
Laika gaitā daudzi cilvēki fiksēja kļūdas un pievienoja funkcijas 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 pat 2000.gadiem, kad tā tika izlaista saskaņā ar dažādām atvērtā koda licencēm.

Bohas dzimšana

Portatīvā operētājsistēmas saskarne, kas paredzēta lietojumprogrammām Unix vai POSIX, bija vēl viena atbilde uz drošu patentētu csh ieviešanu. 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".
Portatīvā operētājsistēmas saskarne, kas paredzēta lietojumprogrammām Unix vai POSIX, bija vēl viena atbilde uz drošu patentētu csh ieviešanu. 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 izlaiduma 1989. gadā, taču šodien tas joprojām ir noklusējuma pārlūks. Tas ir arī noklusējuma Apple MacOS apvalks, un tas ir pieejams instalēšanai Microsoft Windows 10.

Jaunākās čaulas: pelni, domuzīme, zsh un zivis

Lai gan Linux kopiena ir apmesta uz Bash gadu kopš izstrādātājiem neapstājās radīt jaunas čaumalas, kad Bash pirmo reizi tika izlaists pirms 28 gadiem.

Kenneth Almquist izveidoja Bourne apvalka klonu pazīstams kā Almquish apvalks, Shell, "pelnu", vai dažreiz tikai "sh". tas bija arī POSIX saderīgs un kļuva par noklusējuma čaulu BSD, citā Unix filiāle. Pelnu čaula ir vieglāk 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 izveidoja č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.
Debian izveidoja č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 populārākajiem jaunākajiem čaumaliem 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.
Viens no populārākajiem jaunākajiem čaumaliem 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 izstrādāta tā, lai to būtu mazliet vieglāk iemācīties, 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.
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 izstrādāta tā, lai to būtu mazliet vieglāk iemācīties, 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.

Kuru 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 nonāksiet ar 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 čaumalas, ar kuru jūs saskaraties, ir Bourne bāze 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, un vairā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 jūs 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.

"Ak, mans 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 savu zsh apvalku, neizmantojot tērēšanas laiku.
"Ak, mans 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 savu 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

Lai to izmēģinātu, ir viegli pāriet uz jaunu korpusu. 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 Ubuntu. Jūs varētu izpildīt šādas komandas, lai instalētu un pēc tam palaistu to:

sudo apt install zsh zsh

Tad jūs sēžat pie zsh apvalka. Tips"

exit

Pie korpusa atstāt to un atgriezties 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 apvalku, kuru redzat, kad pierakstījāties, pazīstams kā pieteikšanās čaula, jūs parasti to varat izmantot
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 apvalku, kuru redzat, kad pierakstījāties, pazīstams kā pieteikšanās čaula, jūs parasti to varat izmantot

chsh

vai komandu "Change Shell".

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

which zsh

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

Palaidiet šā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ījām

/usr/bin/zsh

. Tad zsh apvalks būtu mūsu noklusējuma, līdz mēs to izpildījām

chsh

komandu un nomainīja to atpakaļ.

Ieteicams: