Advertentie

Blij met het gebruik van de bash-shell in Linux? Of wil je liever een alternatief uitproberen? Er is keuze uit tsch, fish, KornShell en Z Shell. Maar welke van deze Linux-shells is het beste?

Wat is een shell?

Wanneer u een applicatie schrijft, gebeurt dit meestal in een taal van hoog niveau die mensen kunnen begrijpen. Voorbeelden hiervan zijn C #, Java, C ++, etc. Geloof het of niet, je computer ziet alles als 1s als 0s of, zoals algemeen bekend, binaire of machinecode Wat is binair? [Technologie uitgelegd]Aangezien binair zo absoluut fundamenteel is voor het bestaan ​​van computers, lijkt het vreemd dat we het onderwerp nog nooit eerder hebben aangepakt - dus vandaag dacht ik dat ik een kort overzicht zou geven van wat binair is ... Lees verder .

Een compiler vertaalt de taal op hoog niveau naar een binair bestand zoals een uitvoerbaar bestand. Dit binaire bestand is wat u uitvoert om de applicatie te starten. Dit is een weergave op zeer hoog niveau van wat er gebeurt, maar onthoud dat uw computer een vertaallaag nodig heeft tussen wat u hem vertelt te doen en hoe hij dat kan begrijpen.

Een schelp is een zogenaamde tolk. Net als bij een compiler, vertaalt een tolk de menselijke code in machinecode. Een van de verschillen is dat een tolk deze ene bewering tegelijk doet, in tegenstelling tot een compiler die het hele programma scant en het als geheel vertaalt in machinecode.

De shell is dan een interface voor interactie met uw besturingssysteem (OS). Terwijl u commando's in uw shell typt, is de shell verantwoordelijk voor het interpreteren van die commando's en het tot stand brengen van de magie. Bewerkingen zoals het kopiëren van bestanden, piping en het weergeven van bestanden vallen allemaal onder de bevoegdheid van een shell. Het is ook verantwoordelijk voor het onthouden van je commandogeschiedenis om te controleren wat er door je hoofd ging in een tijd van mogelijke dronkenschap.

Om alle shells te ontdekken die beschikbaar zijn op uw systeem, opent u de terminal en typt u:

cat / etc / shells

Om erachter te komen welke shell je momenteel gebruikt, typ je:

echo $ 0
de beste linux-shells ontdekken welke shell gebruikt

1. Bash

Met een mijl, de meest populaire shell onder Linux-gebruikers. Het is moeilijk om zelfs maar aan schelpen te denken zonder dat de Bourne-Again SHell (bash) deel uitmaakt van de vergelijking. Veel Linux-distributies worden geleverd met bash als de standaardshell omdat bash de standaard GNU-shell is. Uitgebracht in 1989, het heeft ook een paar decennia van gezonde ontwikkeling achter de rug.

De voorganger van Bash is The Bourne Shell (sh), een van de originele Unix-shells. Een aantrekkelijke functie voor programmeurs van sh was dat ze dat konden port hun sh scripts Wat is Shell Scripting en waarom zou u het moeten gebruiken?De shell kan niet alleen interactief opdrachten accepteren en uitvoeren, maar kan ook opdrachten uitvoeren die in een bestand zijn opgeslagen. Dit staat bekend als shell-scripting. Hier behandelen we de basis van shell-scripting. Lees verder rechtstreeks naar volledig ongewijzigd bash. Bash biedt ook verschillende verbeteringen aan zijn voorganger, zoals voltooiing van opdrachten en opdrachtgeschiedenis.

Bash is een perfect respectabele shell en vaak zal online documentatie altijd aannemen dat je het gebruikt. Bash is echter niet zonder tekortkomingen - zoals iedereen die ooit een bash-script heeft geschreven dat een paar regels omvat, kan getuigen! Het is niet zo dat je iets niet kunt doen, het is niet altijd even elegant om te lezen en te schrijven. Bash is waarschijnlijk hier om in de nabije toekomst te blijven. Het beschikt over een uitgebreide installatiebasis en brigades van zowel informele als professionele gebruikers, die al gewend zijn aan het gebruik, en eigenaardigheden.

2. KornShell

Algemeen bekend als ksh, is KornShell een alternatieve shell die in de jaren 80 uit Bell Labs is ontstaan. Ksh begon zijn leven als propriëtaire software, zijnde de de facto standaard op commerciële unices en was daarom pas in 2000 beschikbaar voor Linux. Er zijn niet veel verschillen tussen bash en ksh, maar elk heeft kleine voordelen ten opzichte van de andere. Ksh heeft bijvoorbeeld de cd oude nieuwe opdracht. Als je in de directory was /Downloads/foo/bar/een/foobar en daar moest je heen /Downloads/foo/bar/twee/foobar je hoeft alleen maar te rennen:

cd één twee

beste linux schelpen korn shell
Veteranen van ksh zullen pleiten voor de superioriteit door de voordelen van scripting te noemen. Deze omvatten onder meer het hebben van een betere lussyntaxis, natuurlijkere manieren om opdrachten te herhalen en de nauwelijks gebruikte, associatieve arrays. Voor basisinvoer is bash vrij gelijkaardig aan ksh voor geavanceerde scripting, maar dit is zeker een andere ervaring. Een ander ding om op te letten is om online hulp aan te vragen voor ksh. Dit kan inhouden dat je een grijze gevorderde gebruiker uit zijn sluimer haalt om je te helpen. Ten opzichte van bash, waardoor je bijna onmiddellijk een heleboel antwoorden krijgt!

Als je ksh eens wilt proberen, kun je typen:

sudo apt ksh installeren. ksh

3. Tcsh

Tcsh kan zijn wortels terugvoeren tot de begindagen van Unix. Het is in wezen de C-shell (csh) met programmeerbare voltooiing van de opdrachtregel, opdrachtregelbewerking en een paar andere functies. Tcsh is de standaardshell voor op BSD gebaseerde systemen zoals FreeBSD. Het grote verkoopargument voor tcsh is de scripttaal, die iedereen die in C heeft geprogrammeerd er heel vertrouwd uit moet zien. Tcsh is een waardige kandidaat om te leren als je jezelf voornamelijk vindt programmeren in C Waarom C-programmeren nog steeds de moeite waard is om te lerenC is geen dode taal. IEEE Spectrum Magazine rangschikte het zelfs als de nummer 2 toptaal in 2017. Hier zijn vijf redenen waarom. Lees verder . Dit maakt tcsh handig voor het prototypen van kleine C-programma's zonder in de war te raken over zaken als welke haakjes je gebruikt. Dit probleem treedt meestal op als u voortdurend schakelt tussen C-programmering en shell-scripting.

Tcsh's scripting wordt door sommigen aanbeden en door anderen gehaat. Maar het heeft ook andere functies, waaronder het toevoegen van argumenten aan aliassen en verschillende standaardinstellingen die mogelijk op uw voorkeuren aansluiten. Een van de belangrijkste kenmerken is de manier waarop automatisch aanvullen en geschiedenis voltooiing werk. Nadat je je geschiedenis hebt opgehaald door te typen geschiedenis. Tcsh geeft een genummerde lijst met uw vorige opdrachten weer, met een zeer handige tijdstempel. U kunt elke opdracht uitvoeren door te typen ! n n vervangen door het bijbehorende nummer in de weergegeven geschiedenis. Voltooiing van het tabblad Geschiedenis in tcsh werkt door te typen:

!een

Dit breidt uit naar het laatste commando dat begon met de letter "a". Ter vergelijking: in bash zou je moeten typen ! a: p om eerst de opdracht te zien, gevolgd door !! om het uit te voeren.

Om tcsh te proberen, typ je:

sudo apt tcsh installeren. tcsh

4. Vis

Onder alle ernst van Linux heeft het team van fish een gevoel voor humor ingebed in hun project. Op hun website leest de 'tongue-in-cheek'-titel:' Eindelijk een command line shell voor de jaren 90 '- fish ('fduivels iknteractief shell ”) is ontwikkeld in 2005. Naast de aangeprezen "Glorious VGA Color", zijn er enkele verbeteringen ten opzichte van andere shells. Commando's met een ongeldige syntax worden rood weergegeven en corrigeren de blauwe syntaxis. Bovendien zijn er weelderige sets met tab-aanvullingen, zoals suggesties voor automatisch aanvullen met kleurcodering, die zijn gebaseerd op uw geschiedenis.

beste linux schelpen vis
beste linux shells auto

Fish beschikt ook over het voltooien van opdrachten op basis van man-pagina's op uw machine Man-pagina's inkorten tot leesbare uitleg op Linux en macOSMacOS en Linux hebben elk een handige opdracht, "man", die handmatige uitleg geeft voor terminalopdrachten. Omdat ze vaak lang duren, waarom zou u de tool tldr dan niet gebruiken om ze in leesbare stukjes in te korten? Lees verder . Dus als je net een nieuw programma hebt geïnstalleerd en aan de syntaxis moet wennen, haalt fish de syntaxis van de man-pagina en voegt deze toe aan je suggesties voor automatisch aanvullen. Netjes! Als je meer wilt weten over de opdrachtregel, kan vis een geweldige plek zijn om te beginnen.

Typ om te proeven waar vis over gaat:

sudo apt vis installeren. vis

5. Z Shell

Velen zouden denken dat dit de beste schaal voor het laatst is, wat volkomen begrijpelijk zou zijn. Zsh heeft overeenkomsten met bash en ksh en bevat veel van de functies die erin voorkomen, evenals tcsh. Enkele handige functies van zsh zijn onder meer een navigeerbare lijst voor automatisch aanvullen. In tegenstelling tot bash die alleen alle beschikbare commando's opsomt en je het handmatig laat typen. Globbing in zsh is op onverklaarbare wijze nuttig. Typen:

vim / u / l / b / a

Opent automatisch het bestand:

/usr/local/bin/autoupdate.sh

De spellingcorrectie in zsh is veel beter dan die van bash. In een CD commando bash kan maximaal één teken corrigeren. Zsh daarentegen kan worden geconfigureerd om 10 spelfouten in één woord automatisch te corrigeren. Zsh spijkert ook de geschiedenis van de opdrachtregel. Dit is uitermate handig voor gebruikers die buitensporig veel tijd op de terminal doorbrengen. Zsh deelt op magische wijze de geschiedenis van terminals, waardoor sessies met meerdere terminals een fluitje van een cent zijn.

Zsh kan even duren om te configureren bij het eerste gebruik als je niet met de standaardconfiguratie meegaat. Om het eens te proberen, voer in:

sudo apt zsh installeren. zsh

Welke shell is voor mij?

Het feit dat deze opties beschikbaar zijn, is geweldig. Ze geven een glimp van de geschiedenis van de computer zelf, waar programmeurs besloten dat ze de dingen op hun eigen manier wilden maken en uiteindelijk de wereld vrij wilden maken.

De substantiële verschillen tussen deze shells zijn te vinden in de scriptsyntaxis. Elke schelp heeft een bepaalde set nuances die ze van elkaar scheiden. Zoals het er nu uitziet, domineert bash in termen van marktaandeel, wat het vinden van hulp veel eenvoudiger maakt. Bash is gewoon de beste allrounder en voldoet aan de behoeften van alle, behalve de meest geavanceerde gebruikers.

Welke shell gebruik je momenteel? Heb je een andere shell geprobeerd dan bash? Wat vind je leuk of haat je aan je huidige shell? Deel uw mening in de onderstaande opmerkingen!

Beeldcredits: spaxiax /Depositphotos

Yusuf wil leven in een wereld vol innovatieve bedrijven, smartphones met gebrande donkere koffie en computers met hydrofobe krachtvelden die bovendien stof afstoten. Als bedrijfsanalist en afgestudeerd aan de Durban University of Technology, met meer dan 10 jaar ervaring in een snel groeiende technologie-industrie, geniet hij ervan de tussenpersoon te zijn tussen...