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?
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, uw 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 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 weergave op zeer hoog niveau van wat er gebeurt, maar vergeet niet dat uw computer een vertaallaag nodig heeft tussen wat u zegt dat het moet doen 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 uitvoert, in tegenstelling tot een compiler 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:
kat / etc / shells
Om te achterhalen welke shell je momenteel gebruikt type:
echo $ 0
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 u in de directory zat / Downloads / foo / bar /een/ foobar en je moest komen / Downloads / foo / bar /twee/ foobar je hoeft alleen maar te draaien:
cd één twee
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 ksh ksh installeren
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 belangrijkste functies is onder meer de manier waarop auto-aanvulling met
!een
Dit wordt uitgevouwen tot de laatste opdracht die met de letter is gestart “een”. 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 een kans te geven, typ je:
sudo apt tcsh tcsh installeren
4. Vis
Onder alle ernst van Linux heeft het team bij de vissen een gevoel voor humor ingebouwd in hun project. Op hun website leest de tongue-in-cheek-titel “Eindelijk een opdrachtregel-shell voor de jaren 90” - vis (“friendly iknteractive shel”) werd ontwikkeld in 2005. Voorbij de aangeprezen “Glorieuze VGA-kleur,” 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.
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 u zojuist een nieuw programma hebt geïnstalleerd en moet wennen aan de syntaxis, zal vis de syntaxis van de manpagina halen en toevoegen aan uw 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 installeert visvissen
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 opdracht bash kan 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 commandolijn. 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 zsh zsh installeren
Welke Shell is voor mij?
Het feit dat deze opties beschikbaar zijn, is geweldig. Het zijn een glimp in 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 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 uw mening in de reacties hieronder!
Afbeelding Krediet: spaxiax / Depositphotos
Ontdek meer over: Linux Bash Shell.