Grattis med att använda bash-skalet i Linux? Eller vill du helst prova ett alternativ? Det finns tsch, fisk, KornShell och Z Shell att välja mellan. Men vilken av dessa Linux-skal är bäst?
Vad är ett Shell?
Vanligtvis, när du skriver en ansökan, är det gjort på ett språk på hög nivå som människor kan förstå. Exempel på dessa är C #, Java, C ++, etc. Tro det eller inte, ser din dator allt som 1s som 0s eller, som vanligt känt, binär eller maskinkod Vad är binärt? [Teknologi förklarad] Vad är binärt? [Teknologi förklarad] Med tanke på att binär är så absolut grundläggande för förekomsten av datorer, verkar det konstigt att vi aldrig har tagit upp ämnet tidigare - så idag trodde jag att jag skulle ge en kort översikt över vad binär ... Läs Mer .
En kompilator översätter sedan högnivåspråket till en binär fil som en körbar. Den här binärfilen är vad du kör för att starta programmet. Nu är det här en mycket hög nivå av vad som händer, men kom ihåg att din dator behöver ett översättningsskikt mellan vad du säger att det ska göra och hur det kan förstå det.
Ett skal är det som kallas tolk. På samma sätt som en kompilator översätter en tolk den mänskliga koden till maskinkoden. En av skillnaderna är att en tolk gör det här uttalandet i taget i motsats till en kompilator som skannar hela programmet och översätter det som helhet till maskinkod.
Skalet är då ett gränssnitt för att du ska kunna interagera med ditt operativsystem (OS). När du skriver kommandon i ditt skal, är skalet ansvarigt för att tolka dessa kommandon och göra magiken hända. Verksamheter som kopiering av filer, rörledningar, noteringsfiler är alla inom ramen för ett skal. Det är också ansvaret för att komma ihåg din kommandoradshistoria för att kontrollera vad som gick igenom ditt huvud vid en tidpunkt då eventuell inebriation uppstod.
För att ta reda på alla skal som finns tillgängliga på ditt system, öppna terminal och skriv:
cat /etc/shells
För att ta reda på vilket skal du använder för närvarande typ:
echo $0
1. Bash
Med en mil, det mest populära skalet bland Linux-användare. Det är svårt att ens tänka på skal utan att Bourne-Again SHell (bash) är en del av ekvationen. Många Linux-distributioner skickas med bash som standardskalet eftersom bash är standard GNU-skalet. Utsläppt 1989, det har också några decennier av hälsosam utveckling bakom den.
Bashs föregångare är The Bourne Shell (sh) som är en av de ursprungliga Unix-skalen. Ett attraktivt sätt att sh programmörer var att de kunde porta sina sh scripts. Vad är Shell Scripting och varför du ska använda den. Vad är Shell Scripting och varför du ska använda den Förutom att kunna acceptera och exekvera kommandon interaktivt kan skalet också exekvera kommandon som är lagrade i en fil. Detta är känt som skalskript. Här täcker vi grunderna för skalskriptning. Läs mer direkt till bash helt oförändrat. Bash erbjuder också flera förbättringar till föregångaren som kommandotillverkning och kommandoradshistorik.
Bash är ett perfekt respektabelt skal, och ofta online dokumentation antar alltid att du använder den. Men bash är inte utan sina brister - som alla som någonsin har skrivit en bash script som spänner över några rader kan intyga! Det är inte så att du inte kan göra något, det är att det inte alltid är särskilt elegant att läsa och skriva. Bash är förmodligen här för att stanna i den närmaste framtiden. Den har en omfattande installationsbas och brigader av både lediga och professionella användare, som redan är vana vid användningen av dem och quirks.
2. KornShell
KornShell är vanligtvis känt som ett alternativt skal som har sitt ursprung i Bell Labs på 1980-talet. Ksh började sitt liv som proprietär programvara, som är de facto- standarden på kommersiella enheter och var därför inte tillgänglig för Linux fram till år 2000. Det finns inte många skillnader mellan bash och ksh men varje har mindre fördelar över den andra. Ksh, till exempel, har cd gammalt nytt kommando. Om du var i katalogen / Nedladdningar / foo / bar / one / foobar och du behövde komma till / Nedladdningar / foo / bar / two / foobar behöver du bara springa:
cd one two
Veteran av ksh kommer att förespråka det överlägsenhet genom att nämna sina skriptfördelar. Dessa inkluderar bland annat en bättre loop-syntax, mer naturliga sätt att repetera kommandon och de knappt använda, associativa arrayerna. För grundläggande inmatning är bash ganska lik ksh för avancerad skriptning, men det är säkert en annan upplevelse. En annan sak att vara uppmärksam på är att be om hjälp till ksh online. Det kan innebära att man vaknar en grizzled avancerad användare från sitt slummer för att hjälpa dig. I förhållande till bash, som kommer att få dig en flurry av svar nästan omedelbart!
Om du vill ge ksh ett försök kan du skriva:
sudo apt install ksh ksh
3. Tcsh
Tcsh kan spåra sina rötter tillbaka till Unixs tidiga dagar. Det är i huvudsak C-skalet (csh) med programmerbar kommandoradslutning, kommandoradsredigering och några andra funktioner. Tcsh är standardskalet för BSD-baserade system som FreeBSD. Den stora försäljningsplatsen för tcsh är dess skriptspråk som bör vara mycket bekant för alla som har programmerat i C. Tcsh är en värdig kandidat för att lära sig om du befinner dig primärt programmering i C Varför C-programmering är fortfarande värt att lära sig varför C-programmering är Fortfarande värt att lära sig C är inte ett dödsspråk. Faktum är att IEEE Spectrum-tidningen rankade det som toppmålet nr 2 i 2017. Här är fem skäl till varför. Läs mer . Detta gör tcsh användbart för prototypning av små C-program utan att bli förvirrad över saker som vilka parentes du använder. Detta problem tenderar att hända om du kontinuerligt växlar mellan C-programmering och skalskript.
Tcshs skript är adored av vissa och avskyras av andra. Men det har också andra funktioner, inklusive att lägga till argument till alias och olika standardvärden som kan överklaga dina preferenser. En av dess betydelsefulla funktioner inkluderar sättet att slutföra färdigställandet med och färdigställandet av arbetet. Efter att ha tagit upp din historia genom att skriva historia . Tcsh kommer att visa en numrerad lista över dina tidigare kommandon, med ett mycket bekvämt tidsstämpel. Du kan köra kommandot genom att skriva ! N ersätta n med motsvarande nummer i den visade historiken. Fliken för historikfliken i tcsh fungerar genom att skriva:
!a
Detta expanderar till det sista kommandot som började med bokstaven "a". Jämförbart, i bash, måste du skriva ! A: p för att först se kommandot, följt av !! att utföra det.
För att ge tcsh ett försök, skriv:
sudo apt install tcsh tcsh
4. Fisk
Bland all allvaret av Linux har teamet på fisk inbäddat en humoristisk känsla i sitt projekt. På deras hemsida läses "i slutändan ett kommandoradsskal för 90-talet" - fisken (" f riendly i nteractive shell") på sidan 2005. Utöver den uppskattade "Glorious VGA Color" några förbättringar över andra skal. Kommandon som har en ogiltig syntax visas som röda och korrigerar syntaxen i blått. Dessutom finns det omfattande uppsättningar av flikutföranden som färgkodade autofyllda förslag som bygger på din historia.
Fisken skryter även med kommandotillverkning baserat på mansidorna på din maskin. Så här förkortar man sidor i läsbara förklaringar på Linux och macOS. Så här förkortar man sidor i läsbara förklaringar på Linux och MacOS MacOS och Linux har alla ett användbart kommando, "man" som visar manuella förklaringar för terminalkommandon. Eftersom de ofta är långa, varför inte använda tldr-verktyget för att förkorta dem till läsbara bitar? Läs mer . Så om du just har installerat ett nytt program och behöver vänja sig på sin syntax, kommer fisk att ta tag i syntaxen från manningssidan och lägga till den i dina auto-kompletta förslag. Propert! Om du vill bli mer bekant med kommandoraden kan fisk vara ett bra ställe att börja.
För att prova vilken fisk som handlar om, skriv:
sudo apt install fish fish
5. Z Shell
Många skulle överväga att lämna det bästa skalet för sist, vilket skulle vara helt förståeligt. Zsh har likheter med bash och ksh och innehåller många av de funktioner som finns i dem såväl som tcsh. Några användbara funktioner i zsh inkluderar en navigerbar autokompletionslista. Till skillnad från bash som bara listar alla tillgängliga kommandon och får dig att skriva in manuellt. Globbing i zsh är oförklarligt användbar. Skriver:
vim /u/l/b/a
Öppnar filen automatiskt:
/usr/local/bin/autoupdate.sh
Stavningskorrigering i zsh är långt överlägsen den för bash. I ett cd- kommando kan bash rätta upp till ett tecken. Zsh, å andra sidan, kan konfigureras för att autokorrigera 10 stavfel i ett ord. Zsh spikar också kommandoradshistorier. Detta är extremt användbart för användare som spenderar mycket tid på terminalen. Zsh delar magiskt historier över terminaler, vilket gör flera terminala sessioner bris.
Zsh kan ta ett tag att konfigurera vid första användningen om du inte går med standard config. För att prova, skriv in:
sudo apt install zsh zsh
Vilket Shell är för mig?
Det faktum att dessa alternativ är tillgängliga är lysande. De är glimt i historien om att beräkna sig själv, där programmerare bestämde sig för att de ville göra saker på egen väg, och så småningom sätta dem fritt till världen.
De väsentliga skillnaderna mellan dessa skal återfinns i skriptsyntaxen. Varje skal har en viss uppsättning nyanser som skiljer dem från varandra. Bash dominerar när det gäller marknadsandelar, vilket gör att hitta hjälp mycket enklare. Bash är helt enkelt den bästa allrounden, som möter allaas behov, utom de mest avancerade användarna.
Vilket skal använder du för närvarande? Har du provat något annat skal än bash? Vad älskar du eller hatar om ditt nuvarande skal? Dela dina tankar i kommentarerna nedan!
Bildkrediter: spaxiax / Depositionfoton