no.phhsnews.com


no.phhsnews.com / Hva er forskjellen mellom Bash, Zsh og andre Linux-skjell?

Hva er forskjellen mellom Bash, Zsh og andre Linux-skjell?


De fleste Linux-distribusjoner inkluderer bash-skallet som standard, men du kan også bytte til et annet skallmiljø. Zsh er et spesielt populært alternativ, og det finnes andre skall, som aske, dash, fisk og tcsh. Men hva er forskjellen, og hvorfor er det så mange?

Hva gjør skjell?

Når du logger på kommandolinjen eller starter et terminalvindu på Linux, starter systemet shellprogrammet. Shells tilbyr en standard måte å utvide kommandolinjemiljøet på. Du kan bytte ut standardskallet til en annen, hvis du vil.

Det første skallmiljøet var Thompson Shell, utviklet hos Bell Labs og utgitt i 1971. Shell-miljøer har bygd på konseptet siden, og legger til en rekke av nye funksjoner, funksjonalitet og hastighetsforbedringer.

Bash tilbyr for eksempel kommando- og filnavnavslutning, avanserte skriptfunksjoner, en kommandobeskrivelse, konfigurerbare farger, kommandoaliaser og en rekke andre funksjoner som ikke var tilgjengelige tilbake i 1971 da det første skallet ble utgitt.

Skallet brukes også i bakgrunnen av ulike systemtjenester. Linux-distribusjoner inkluderer mange funksjoner skrevet som shell-skript. Disse skriptene er kommandoer og andre avanserte shell-skriptfunksjoner går gjennom skallmiljøet.

Shells som fører opp til Bash: sh, csh, tsh og ksh

RELATED: Hva er Unix, og hvorfor er det viktig? ?

Den mest fremtredende progenitoren til moderne skall er Bourne-skallet - også kjent som "sh" - som ble oppkalt etter sin skaper Stephen Bourne som jobbet på AT & Ts Bell Labs. Utgitt i 1979 ble det standard kommandotolk i Unix på grunn av sin støtte for kommandosubstitusjon, piping, variabler, tilstandstesting og looping, sammen med andre funksjoner. Det ga ikke mye tilpasning for brukere, og støttet ikke slike moderne nicetier som aliaser, kommandotilfylling og skallfunksjoner (selv om denne siste til slutt ble lagt til).

C-skallet eller "csh" ble utviklet på slutten av 1970-tallet av Bill Joy ved University of California, Berkley. Den la til mange interaktive elementer som brukere kunne kontrollere sine systemer, som aliaser (snarveier for lange kommandoer), arbeidsstyringsevner, kommandog History og mer. Den ble modellert av C-programmeringsspråket, som selve Unix-operativsystemet ble skrevet inn. Dette innebar også at brukerne av Bourne-skallet måtte lære C slik at de kunne legge inn kommandoer i den. I tillegg hadde csh ganske mange feil som måtte hammeres ut av brukere og skapere likt over en stor periode. Folk endte opp med å bruke Bourne-skallet for skript fordi det håndterte ikke-interaktive kommandoer bedre, men fast med C-skallet for normal bruk.

Over tid løste mange mennesker feil og lagde funksjoner til C-skallet, som kulminerte i en forbedret versjon av csh kjent som "tcsh". Men csh var fortsatt standard i Unix-baserte datamaskiner, og hadde lagt til noen ikke-standardfunksjoner. David Korn fra Bell Labs jobbet på KornShell, eller "ksh", som forsøkte å forbedre situasjonen ved å være bakoverkompatibel med Bourne-skallets språk, men legge til mange funksjoner fra csh-skallet. Den ble utgitt i 1983, men under en proprietær lisens. Det var ikke gratis programvare før 2000-tallet, da den ble utgitt under ulike open source-lisenser.

Fødsel av bash

Det bærbare operativsystemgrensesnittet for Unix, eller POSIX, var et annet svar på den hektiske proprietære csh implementeringer. Den har vellykket opprettet en standard for kommandotolking (blant annet) og til slutt speilet mange av funksjonene i KornShell. Samtidig forsøkte GNU-prosjektet å lage et gratis, Unix-kompatibelt operativsystem. GNU-prosjektet utviklet et gratis programvareskall for å være en del av sitt gratis operativsystem og kalt det "Bourne Again Shell" eller "bash".

Bash har blitt forbedret i flere tiår siden den første utgivelsen i 1989, men det er fortsatt standardskallet på de fleste Linux-distribusjoner i dag. Det er også standardskallet på Apples macOS, og er tilgjengelig for installasjon på Microsofts Windows 10.

Nyere skjell: aske, dash, zsh og fisk

Mens Linux-fellesskapet har bosatt seg på Bash i årene siden, stoppet utviklerne ikke å skape nye skall når Bash ble først utgitt for 28 år siden.

Kenneth Almquist opprettet en Bourne shell klone kjent som Almquish skall, et skall, "aske", eller noen ganger bare "sh". det var også POSIX-kompatibelt og ble standardskallet i BSD, en annen gren av Unix. Askeskallet er mer lett enn bash, noe som gjør det populært i innebygde Linux-systemer. Hvis du har en rotfestet Android-telefon med BusyBox installert, eller en annen enhet med BusyBox-pakken med programvare, bruker den kode fra aske.

Debian utviklet et shell-miljø basert på aske og kalte det "dash". Den er designet for å være POSIX-kompatibel og lett, så den er raskere enn Bash, men vil ikke ha alle funksjonene. Ubuntu bruker dash shell som standard shell for ikke-interaktive oppgaver, påskynde shell skript og andre oppgaver som kjører i bakgrunnen. Ubuntu bruker fortsatt bash for interaktive skjell, men brukerne har fortsatt det fullverdige interaktive miljøet.

En av de mest populære nyere skjellene er Z-shell eller "zsh". Opprettet av Paul Falstad i 1990, er zsh et Bourne-stil skall som inneholder funksjonene du finner i bash, pluss enda mer. For eksempel har zsh stavekontroll, muligheten til å se på pålogginger / logouts, noen innebygde programmeringsfunksjoner som bytecode, støtte for vitenskapelig notasjon i syntaks, muliggjør flytende poeng aritmetikk og flere funksjoner.

En annen nyere skallet er det vennlige interaktive skallet eller "fisken", utgitt i 2005. Den har en unik kommandolinjens syntaks som er designet for å være litt lettere å lære, men er ikke avledet fra enten Bourne-skallet eller C-skallet. Det er en interessant ide, men det du lærer deg ved å bruke fisk, vil ikke nødvendigvis hjelpe deg med å bruke bash og andre Bourne-avledede skall.

Hvilken bør du velge? (og hvorfor Zsh er populært)

Du trenger ikke å velge et skall. Operativsystemet velger standard skal for deg, og det valget er nesten alltid bash. Sett deg foran en Linux-distribusjon - eller til og med en Mac - og du vil nesten alltid ha et bash shell miljø. Bash har ganske mange avanserte funksjoner, men du vil sannsynligvis ikke bruke dem med mindre du programmerer shell-skript.

På embedded Linux-systemer eller BSD-systemer vil du ende opp med askeskallet. Men aske er et Bourne-basert skall og er stort sett kompatibelt med bash. Eventuelle kunnskaper du har fra å bruke bash vil overføre til å bruke et ask eller skjermhull, selv om noen avanserte skriptfunksjoner ikke er tilgjengelige i dette lette skallet.

Nesten hvert skall du møter er Bourne-basert og fungerer på samme måte, inkludert zsh .

Derfor er zsh populært. Dette nyere skallet er kompatibelt med bash, men inneholder flere funksjoner. Zsh-skallet tilbyr innebygd stavekontroll, forbedret kommandolinjeutførelse, lastbare moduler som fungerer som plugin-moduler for skallet ditt, globale aliaser som lar deg alias filnavn eller noe annet på kommandolinjen i stedet for bare kommandoer, og mer tema støtte. Det er som bash, men med mange tillegg, ekstra funksjoner og konfigurerbare alternativer du kan sette pris på hvis du bruker mye tid på kommandolinjen.

Hvis du er kjent med bash, kan du bytte til zsh uten å lære en annen syntaks - du får bare flere funksjoner. Hvis du er kjent med zsh, kan du bytte til bash uten å lære en annen syntaks. Du vil bare ikke ha tilgang til disse funksjonene.

"Oh My ZSH" er et verktøy som hjelper deg lettere å aktivere zsh plug- ins og bytte mellom premade temaer, raskt tilpasse ditt zsh-skjerm uten å bruke timer til å tilpasse ting.

Det finnes også andre skaller. For eksempel er tcsh-skallet fortsatt rundt og er fortsatt et alternativ. FreeBSD bruker tsch som standard rotskjell og aske som standard interaktivt skall. Hvis du bruker C-programmeringen regelmessig, kan tsch være bedre egnet for deg. Det er imidlertid ikke nært som vanlig brukt som bash eller zsh.

Slik bytter du mellom skaller

Det er enkelt å bytte til et nytt skall for å prøve det. Bare installer skallet fra Linux-distribusjonens pakkebehandling og skriv inn kommandoen for å starte skallet.

La oss for eksempel si at du vil prøve Zsh på Ubuntu. Du vil kjøre følgende kommandoer for å installere og deretter starte den:

sudo apt install zsh zsh

Du vil da sitte på et zsh-skall. Skriv "exit" på skallet for å forlate det og gå tilbake til ditt nåværende skall.

Dette er bare midlertidig. Når du åpner et nytt terminalvindu eller logger på systemet på kommandolinjen, ser du standardskallet. For å endre skallet du ser når du logger på, kjent som ditt påloggingsskall, kan du vanligvis bruke kommandoenchsheller "Change Shell".

For å bruke denne kommandoen, vil du først må finne hele banen til skallet ditt med hvilken kommando. For eksempel, la oss si at vi ønsket å bytte til zsh-skallet. Vi vil kjøre følgende kommando:

som zsh

På Ubuntu, forteller dette oss at zsh binæret er lagret på /usr/bin/zsh.

Run den følgende kommandoen, skriv inn passordet ditt og du ' Jeg blir bedt om å velge et nytt påloggingsskall:

chsh

I henhold til kommandoen ovenfor, ville vi legge inn/ usr / bin / zsh. Zsh-skallet ville da være vår standard til vi kjørte kommandoenchshog endret den tilbake.


Hvor effektivt er Luma's foreldrekontroll?

Hvor effektivt er Luma's foreldrekontroll?

Lumas hjemmet Wi-Fi-system er enkelt å sette opp og bruke, og det kommer til og med med grunnleggende foreldrekontroll som lar deg blokkere upassende innhold fra din barn mens de surfer på nettet. Men det har noen ... advarsler. RELATED: Slik setter du opp Luma Home Wi-Fi-systemet Lumas foreldrekontroll jobber ved å bruke DNS-filtrering, som bare blokkerer bestemte webadresser som er kjent for å inneholde upassende innhold.

(how-top)

Hva er Bitcoin, og hvordan fungerer det?

Hva er Bitcoin, og hvordan fungerer det?

Bitcoin. Den digitale valutaen har vært over nyhetene i mange år. Men fordi det er helt digitalt og ikke nødvendigvis samsvarer med en eksisterende fiat-valuta, er det ikke lett å forstå for nykommeren. La oss bryte ned grunnlaget for nøyaktig hva Bitcoin er, hvordan det fungerer, og dets mulige fremtid i den globale økonomien.

(how-top)