Welke van deze 5 Linux Shells is het beste?

Blij met het gebruiken van de bash-shell in Linux? Of wilt u liever een alternatief uitproberen? Er is tsch, vis, KornShell en Z Shell om uit te kiezen. Maar welke van deze Linux-shells is het beste?

Blij met het gebruiken van de bash-shell in Linux?  Of wilt u liever een alternatief uitproberen?  Er is tsch, vis, KornShell en Z Shell om uit te kiezen.  Maar welke van deze Linux-shells is het beste?
Advertentie

Blij met het gebruiken van de bash-shell in Linux? Of wilt u liever een alternatief uitproberen? Er is tsch, vis, KornShell en Z Shell om uit te kiezen. Maar welke van deze Linux-shells is het beste?

Wat is een Shell?

Meestal, wanneer je een applicatie schrijft, gebeurt dit in een taal op 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 What Is Binary? [Technology Explained] What Is Binary? [Technology Explained] Aangezien binary zo absoluut fundamenteel is voor het bestaan ​​van computers, lijkt het vreemd dat we het onderwerp nooit eerder hebben aangepakt - dus vandaag had ik gedacht dat ik een kort overzicht zou geven van wat binary ... Lees verder Meer .

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 toepassing te starten. Dit is een zeer hoog niveau van wat er gebeurt, maar vergeet niet dat uw computer een vertaallaag nodig heeft tussen wat u zegt en hoe het dat kan begrijpen.

Een shell is wat bekend staat als een tolk. Net als bij een compiler, vertaalt een interpreter de menselijke code in machinecode. Een van de verschillen is dat een interpretator deze ene instructie tegelijk doet, in tegenstelling tot een compilator die het volledige programma scant en als een geheel in machinecode vertaalt.

De shell is dan een interface voor interactie met uw besturingssysteem (OS). Terwijl je commando's in je shell typt, is de shell verantwoordelijk voor het interpreteren van die commando's en het maken van de magie. Bewerkingen zoals het kopiëren van bestanden, piping en het vermelden van bestanden vallen allemaal onder de verantwoordelijkheid van een shell. Het is ook verantwoordelijk voor het onthouden van je opdrachtgeschiedenis om na te gaan wat er door je hoofd ging in een tijd van mogelijke dronkenschap.

Open de terminal en typ het volgende om alle shells te vinden die beschikbaar zijn op uw systeem:

cat /etc/shells 

Om te achterhalen welke shell je momenteel gebruikt type:

 echo $0 

beste linux-shells komen erachter wat shell gebruiken

1. Bash

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

De voorganger van Bash is The Bourne Shell (sh), een van de originele Unix-shells. Een aantrekkelijke functie voor sh-programmeurs was dat ze hun sh-script konden porten. Wat is Shell-scripting en waarom je het zou moeten gebruiken Wat is Shell-scripting en waarom je het zou moeten gebruiken Naast het kunnen accepteren en uitvoeren van commando's interactief, kan de shell ook voer commando's uit die zijn opgeslagen in een bestand. Dit staat bekend als shell-scripting. Hier bespreken we de basisprincipes van shell scripting. Lees meer direct om bash volledig onveranderd. Bash biedt ook verschillende verbeteringen aan zijn voorganger, zoals het afronden van opdrachten en de opdrachtgeschiedenis.

Bash is een perfect respectabele schaal, en vaak zal online documentatie er onvermijdelijk van uitgaan dat je het gebruikt. Echter, bash is niet zonder zijn tekortkomingen - zoals iedereen die ooit een bash-script heeft geschreven dat een paar regels beslaat, kan bevestigen! Het is niet dat je iets niet kunt doen, het is dat het niet altijd bijzonder elegant is om te lezen en te schrijven. Bash is waarschijnlijk hier om voor de nabije toekomst te blijven. Het heeft een uitgebreide installatiebasis en brigades van zowel informele als professionele gebruikers, die al gewend zijn aan het gebruik ervan en eigenaardigheden.

2. KornShell

KornShell, algemeen bekend als ksh, is een alternatieve shell die is ontstaan ​​uit Bell Labs in de jaren tachtig. Ksh begon zijn leven als gepatenteerde software, zijnde de de facto standaard op commerciële unices en was daarom tot 2000 niet 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 oude CD-opdracht. Als je in de directory / Downloads / foo / bar / one / foobar was en je naar / Downloads / foo / bar / two / foobar moest gaan, hoef je alleen maar te draaien:

 cd one two 

beste linux shells korn shell
Veteranen van ksh zullen zijn superioriteit bepleiten door zijn voordelen op het gebied van scripting te vermelden. Deze omvatten onder meer een betere lus-syntaxis, natuurlijkere manieren om opdrachten te herhalen en de nauwelijks gebruikte, associatieve arrays. Basic bash lijkt erg op ksh voor geavanceerde scripting, maar dit is zeker een andere ervaring. Een ander ding om op te letten is het aanvragen van hulp voor ksh online. Dit kan inhouden dat je een grijze gebruiker uit zijn slaap wakker moet maken om je te helpen. Ten opzichte van bash, waardoor je bijna onmiddellijk een hoop antwoorden krijgt!

Als je ksh eens wilt proberen, typ je:

 sudo apt install ksh ksh 

3. Tcsh

Tcsh kan zijn wortels terug traceren tot in het beginstadium van Unix. Het is in wezen de C-shell (csh) met programmeerbare voltooiing van de opdrachtregel, bewerkingen op de commandoregel en enkele andere functies. Tcsh is de standaardshell voor op BSD gebaseerde systemen zoals FreeBSD. Het grote verkoopargument voor tcsh is de scripttaal, die voor iedereen die in C geprogrammeerd heeft heel bekend moet zijn. Tcsh is een waardige kandidaat om te leren als je merkt dat je voornamelijk programmeert in C Waarom C programmeren nog steeds de moeite waard is Waarom C programmeren Het is nog steeds waard om te leren C is geen dode taal. IEEE Spectrum magazine rangschikte het zelfs als de nr. 2 toptaal in 2017. Hier zijn vijf redenen waarom. Lees verder . Dit maakt tsk handig voor het prototypen van kleine C-programma's zonder verward te raken over dingen zoals welke haakjes u gebruikt. Dit probleem treedt meestal op als u voortdurend wisselt tussen C-programmeren en shell-scripting.

Tcsh's scripting wordt door sommigen bewonderd en door anderen gehaat. Maar het heeft ook andere functies, zoals het toevoegen van argumenten aan aliassen en verschillende standaardinstellingen die een beroep op uw voorkeuren kunnen doen. Een van de belangrijke functies is de manier waarop automatisch aanvullen en het voltooien van de geschiedenis werken. Na het ophalen van uw geschiedenis door geschiedenis te typen. Tcsh zal een genummerde lijst van uw vorige opdrachten weergeven, met een zeer handige tijdstempel. U kunt elke opdracht uitvoeren door te typen ! N n te vervangen door het bijbehorende nummer in de weergegeven geschiedenis. Tabblad Geschiedenis voltooid in tcsh werkt door te typen:

 !a 

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

Om tcsh een kans te geven, typ je:

 sudo apt install tcsh tcsh 

4. Vis

Onder alle ernst van Linux heeft het team bij de vissen een gevoel voor humor ingebouwd in hun project. Op hun website, de tongue-in-cheek-titel luidt: "Eindelijk, een opdrachtregel-shell voor de jaren 90" - vis ("heel eigen interactieve planeet") werd in 2005 ontwikkeld. Voorbij de aangeprezen "Glorious VGA Color" zijn enkele verbeteringen ten opzichte van andere shells. Opdrachten met een ongeldige syntaxis worden rood weergegeven en de juiste syntaxis in blauw. Bovendien zijn er overdadige sets met tab-aanvullingen, zoals auto-complete suggesties met kleurcodering die gebaseerd zijn op je geschiedenis.

beste linux shells vis

beste linux shells auto

Fish biedt ook commando-uitvoeringen op basis van de man-pagina's op uw machine Man-pagina's inkorten tot leesbare uitleg over Linux en macOS Man-pagina's inkorten tot leesbare uitleg over Linux en macOS MacOS en Linux hebben elk een nuttige opdracht, "man" die toont handmatige verklaringen voor terminalopdrachten. Omdat ze vaak lang duren, kun je de tldr-tool gebruiken om ze in leesbare brokken in te korten. Lees verder . Dus als je zojuist een nieuw programma hebt geïnstalleerd en moet wennen aan de syntaxis, zal vis de syntaxis van de man-pagina pakken en toevoegen aan je automatisch aanvullen-suggesties. Netjes! Als u meer vertrouwd wilt raken met de opdrachtregel, kan vis een goede plaats zijn om te beginnen.

Om te proeven van welke vis het gaat, typt u:

 sudo apt install fish fish 

5. Z Shell

Velen zouden dit beschouwen als de beste shell voor het laatst achterlaten, wat volledig begrijpelijk zou zijn. Zsh heeft overeenkomsten met bash en ksh en bevat veel van de functies die ze vinden, evenals tcsh. Enkele handige functies van zsh bevatten een navigeerbare lijst met automatische aanvullingen. In tegenstelling tot bash, die alleen alle beschikbare opdrachten vermeldt en ervoor zorgt dat u deze handmatig invoert. Globbing in zsh is op onverklaarbare wijze nuttig. Typen:

 vim /u/l/b/a 

Opent automatisch het bestand:

 /usr/local/bin/autoupdate.sh 

Spellingcorrectie in zsh is veel beter dan die van bash. In een cd- commando kan bash maximaal één teken corrigeren. Zsh, aan de andere kant, kan worden geconfigureerd om 10 spelfouten in één woord automatisch te corrigeren. Zsh is ook bekend met de geschiedenis van de commandoregel. Dit is uitermate handig voor gebruikers die veel tijd op de terminal doorbrengen. Zsh deelt op magische wijze geschiedenis over terminals, waardoor sessies met meerdere terminals een fluitje van een cent worden.

Zsh kan een tijdje duren om te configureren bij het eerste gebruik als je niet meegaat met de standaardconfiguratie. Om het eens te proberen, ga je naar:

 sudo apt install zsh zsh 

Welke Shell is voor mij?

Het feit dat deze opties beschikbaar zijn, is geweldig. Het zijn een glimp van de geschiedenis van het computergebruik, waarbij 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 schaal heeft een bepaalde reeks nuances die ze van elkaar scheiden. In zijn huidige vorm domineert bash in termen van marktaandeel, waardoor het vinden van hulp veel eenvoudiger is. Bash is gewoon de beste all-rounder 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? Waar houd je van of haat je over je huidige schaal? Deel je mening in de comments hieronder!

Afbeelding Krediet: spaxiax / Depositphotos

In this article