Welche dieser 5 Linux Shells ist am besten?

Glücklich mit der Bash-Shell in Linux? Oder möchten Sie lieber eine Alternative ausprobieren? Es gibt tsch, Fisch, KornShell und Z Shell zur Auswahl. Aber welche dieser Linux-Shells ist am besten?

Glücklich mit der Bash-Shell in Linux?  Oder möchten Sie lieber eine Alternative ausprobieren?  Es gibt tsch, Fisch, KornShell und Z Shell zur Auswahl.  Aber welche dieser Linux-Shells ist am besten?
Werbung

Glücklich mit der Bash-Shell in Linux? Oder möchten Sie lieber eine Alternative ausprobieren? Es gibt tsch, Fisch, KornShell und Z Shell zur Auswahl. Aber welche dieser Linux-Shells ist am besten?

Was ist eine Shell?

Wenn Sie eine Anwendung schreiben, geschieht dies meist in einer höheren Sprache, die Menschen verstehen können. Beispiele hierfür sind C #, Java, C ++ usw. Glauben Sie es oder nicht, Ihr Computer sieht alles als 1s als 0s oder, wie allgemein bekannt, binär oder Maschinencode Was ist Binär? [Technologie erklärt] Was ist binär? [Technology Explained] Angesichts der Tatsache, dass Binärsysteme für die Existenz von Computern so fundamental sind, ist es merkwürdig, dass wir das Thema noch nie behandelt haben - heute dachte ich, ich würde einen kurzen Überblick darüber geben, was binär ... Lesen Mehr .

Ein Compiler wird dann die Hochsprache in eine Binärdatei wie eine ausführbare Datei übersetzen. Diese binäre Datei ist das, was Sie ausführen, um die Anwendung zu starten. Nun, dies ist eine sehr hochrangige Ansicht dessen, was passiert, aber denken Sie daran, dass Ihr Computer eine Übersetzungsschicht zwischen dem, was Sie ihm sagen, und dem, wie er das verstehen soll, benötigt.

Eine Shell ist ein sogenannter Interpreter. Ähnlich wie bei einem Compiler übersetzt ein Interpreter den menschlichen Code in Maschinencode. Einer der Unterschiede besteht darin, dass ein Interpreter diese eine Anweisung zu einem Zeitpunkt ausführt, im Gegensatz zu einem Compiler, der das gesamte Programm scannt und es als Ganzes in Maschinencode übersetzt.

Die Shell ist also eine Schnittstelle, mit der Sie mit Ihrem Betriebssystem (OS) interagieren können. Während Sie Befehle in Ihre Shell eingeben, ist die Shell dafür verantwortlich, diese Befehle zu interpretieren und die Magie zu bewirken. Operationen wie das Kopieren von Dateien, Piping und das Auflisten von Dateien gehören in den Zuständigkeitsbereich einer Shell. Es ist auch verantwortlich für die Erinnerung an Ihre Befehlsgeschichte für die Überprüfung, was durch Ihren Kopf in einer Zeit der möglichen Rausch ging.

Um alle Shells zu ermitteln, die auf Ihrem System verfügbar sind, öffnen Sie das Terminal und geben Sie Folgendes ein:

cat /etc/shells 

Um herauszufinden, welche Shell Sie gerade verwenden, geben Sie Folgendes ein:

 echo $0 

Die besten Linux-Shells finden heraus, welche Shell verwendet wird

1. Bash

Mit Abstand die beliebteste Shell unter Linux-Benutzern. Es ist schwer, überhaupt an Shells zu denken, ohne dass die Bourne-Again SHell (Bash) ein Teil der Gleichung ist. Viele Linux-Distributionen werden mit bash als Standard-Shell ausgeliefert, da bash die Standard-GNU-Shell ist. Erschienen im Jahr 1989, rühmt es sich auch ein paar Jahrzehnte der gesunden Entwicklung dahinter.

Bashs Vorgänger ist die Bourne Shell (sh), die eine der ursprünglichen Unix-Shells ist. Ein attraktives Feature für SH-Programmierer war, dass sie ihre sh-Skripte portieren konnten. Was ist Shell-Scripting und warum sollten Sie es verwenden? Was ist Shell-Scripting und warum sollten Sie es verwenden? Zusätzlich zur Fähigkeit, Befehle interaktiv zu akzeptieren und auszuführen, kann die Shell auch Befehle ausführen, die in einer Datei gespeichert sind. Dies wird als Shell-Skripting bezeichnet. Hier behandeln wir die Grundlagen des Shell-Skripts. Lesen Sie mehr direkt zu bash völlig unverändert. Bash bietet auch einige Verbesserungen zu seinem Vorgänger wie Befehlsabschluß und Befehlshistorie.

Bash ist eine absolut respektable Shell, und oft wird Online-Dokumentation davon ausgehen, dass Sie es verwenden. Allerdings ist bash nicht ohne Mängel - wie jeder, der jemals ein Bash-Skript geschrieben hat, das ein paar Zeilen umfasst, kann bestätigen! Es ist nicht so, dass man etwas nicht tun kann, es ist nicht immer besonders elegant zu lesen und zu schreiben. Bash ist wahrscheinlich hier, um zumindest für die nahe Zukunft zu bleiben. Es verfügt über eine umfangreiche Installationsbasis und Brigaden von gelegentlichen und professionellen Benutzern gleichermaßen, die bereits an seine Verwendung gewöhnt sind, und Macken.

2. KornShell

KornShell ist eine alternative Shell, die in den 1980er Jahren aus den Bell Labs hervorging. Ksh begann sein Leben als proprietäre Software, die De-facto- Standard auf kommerziellen Unices war und daher für Linux erst im Jahr 2000 verfügbar war. Es gibt nicht viele Unterschiede zwischen bash und ksh, aber beide haben kleinere Vorteile gegenüber dem anderen. Ksh, zum Beispiel, hat den alten alten Befehl cd. Wenn Sie sich im Verzeichnis / Downloads / foo / bar / one / foobar befinden und zu / Downloads / foo / bar / two / foobar gelangen, müssen Sie nur Folgendes ausführen:

 cd one two 

Beste Linux-Shells Korn Shell
Veteranen von ksh werden sich für ihre Überlegenheit einsetzen, indem sie ihre Vorteile als Skript erwähnen. Dazu gehören eine bessere Schleifensyntax, natürlichere Methoden zum Wiederholen von Befehlen und die kaum verwendeten assoziativen Arrays. Für grundlegende Eingaben ist bash ksh für erweitertes Scripting ziemlich ähnlich, jedoch ist dies sicherlich eine andere Erfahrung. Eine andere Sache, auf die man achten sollte, ist die Hilfe für ksh online. Dies kann beinhalten, einen ergrauten fortgeschrittenen Benutzer aus seinem Schlaf zu wecken, um Ihnen zu helfen. Relativ zur Bash, die Ihnen sofort eine Menge Antworten geben wird!

Wenn Sie ksh ausprobieren möchten, können Sie Folgendes eingeben:

 sudo apt install ksh ksh 

3. Tcsh

Tcsh kann seine Wurzeln bis in die frühen Tage von Unix zurückverfolgen. Es ist im Wesentlichen die C-Shell (Csh) mit programmierbarer Befehlszeilenkomplettierung, Befehlszeilenbearbeitung und einigen anderen Funktionen. Tcsh ist die Standard-Shell für BSD-basierte Systeme wie FreeBSD. Das große Verkaufsargument für tcsh ist seine Skriptsprache, die jedem, der in C programmiert hat, sehr bekannt vorkommen sollte. Tcsh ist ein würdiger Kandidat für das Lernen, wenn Sie hauptsächlich in C programmieren. Warum C-Programmierung immer noch lohnend ist Warum C-Programmierung ist Noch wert zu lernen C ist keine tote Sprache. Das IEEE Spectrum Magazin hat es sogar als die Top-Sprache Nr. 2 im Jahr 2017 eingestuft. Hier fünf Gründe warum. Weiterlesen . Dies macht tcsh nützlich für das Prototyping von kleinen C-Programmen, ohne sich über Dinge wie die von Ihnen verwendeten Klammern zu verwirren. Dieses Problem tritt häufig auf, wenn Sie ständig zwischen C-Programmierung und Shell-Skripting wechseln.

Tcshs Skripting wird von einigen verehrt und von anderen gehasst. Aber es hat auch andere Funktionen, einschließlich das Hinzufügen von Argumenten zu Aliasen und verschiedene Standardeinstellungen, die Ihre Präferenzen ansprechen könnten. Zu den wichtigsten Funktionen gehört die automatische Vervollständigung mit und die Vervollständigung der Historie. Nach dem Hochziehen Ihres Verlaufs, indem Sie Geschichte eingeben. Tcsh zeigt eine nummerierte Liste Ihrer vorherigen Befehle mit einem sehr praktischen Zeitstempel an. Sie können einen beliebigen Befehl ausführen, indem Sie ! N eingeben, wobei n durch die entsprechende Zahl in der angezeigten Historie ersetzt wird. Die Vervollständigung der Verlaufsregisterkarten in tcsh funktioniert folgendermaßen:

 !a 

Dies erweitert sich auf den letzten Befehl, der mit dem Buchstaben "a" begonnen hat. Im Vergleich dazu müssten Sie in bash folgendes eingeben : a: p, um zuerst den Befehl zu sehen, gefolgt von !! um es auszuführen.

Um tcsh einen Versuch zu geben, tippe:

 sudo apt install tcsh tcsh 

4. Fisch

Unter all der Ernsthaftigkeit von Linux hat das Team bei Fish einen Sinn für Humor in ihr Projekt integriert. Auf ihrer Website wurde 2005 der augenzwinkernde Titel "Endlich eine Kommandozeilen-Shell für die 90er Jahre" - Fisch ("friendly interactive shell") entwickelt. Neben der angekündigten "Glorious VGA Color", sind einige Verbesserungen gegenüber anderen Shells. Befehle mit einer ungültigen Syntax werden als rot und die korrekte Syntax als blau angezeigt. Darüber hinaus gibt es umfangreiche Tabulatorvervollständigungen wie farbcodierte Vorschläge zur automatischen Vervollständigung, die auf Ihrer Historie basieren.

beste Linux-Shells Fisch

Beste Linux-Shells automatisch

Fish bietet auch Befehlsvervollständigung basierend auf den man-Seiten auf Ihrer Maschine Wie man Manpages in lesbare Erklärungen auf Linux und macOS kürzt Wie man Manpages in lesbare Erklärungen auf Linux und macOS verkürzt MacOS und Linux haben jeweils einen nützlichen Befehl, "man" Zeigt manuelle Erklärungen für Terminalbefehle an. Da sie oft langwierig sind, verwenden Sie das Tool tldr, um sie in lesbare Abschnitte zu kürzen. Weiterlesen . Wenn Sie also gerade ein neues Programm installiert haben und sich an seine Syntax gewöhnen müssen, greift fish die Syntax von der man-Seite und fügt sie Ihren Vorschlägen zur automatischen Vervollständigung hinzu. Ordentlich! Wenn Sie sich mit der Befehlszeile vertraut machen möchten, können Sie mit Fisch beginnen.

Um herauszufinden, um was es bei Fischen geht, geben Sie Folgendes ein:

 sudo apt install fish fish 

5. Z-Schale

Viele würden dies als die beste Schale für die letzte verlassen, was völlig verständlich wäre. Zsh hat Ähnlichkeiten mit bash und ksh und enthält viele der in ihnen gefundenen Features sowie tcsh. Einige nützliche Funktionen von zsh umfassen eine navigierbare Autokomplettierungsliste. Im Gegensatz zu bash, das lediglich alle verfügbaren Befehle auflistet und Sie manuell eingibt. Globbing in zsh ist unerklärlich nützlich. Eingabe:

 vim /u/l/b/a 

Öffnet automatisch die Datei:

 /usr/local/bin/autoupdate.sh 

Die Rechtschreibkorrektur in zsh ist der von bash weit überlegen. In einem CD- Befehl kann bash bis zu einem Zeichen korrigieren. Zsh dagegen kann so konfiguriert werden, dass 10 Rechtschreibfehler in einem Wort automatisch korrigiert werden. Zsh protokolliert auch Befehlszeilenhistorien. Dies ist äußerst nützlich für Benutzer, die übermäßig viel Zeit auf dem Terminal verbringen. Zsh teilt magisch Geschichten über Terminals und macht Multi-Terminal-Sitzungen ein Kinderspiel.

Zsh kann eine Weile dauern, um bei der ersten Verwendung zu konfigurieren, wenn Sie nicht mit der Standardkonfiguration gehen. Um es zu versuchen, geben Sie ein:

 sudo apt install zsh zsh 

Welche Shell ist für mich?

Die Tatsache, dass diese Optionen verfügbar sind, ist brillant. Sie werfen einen Blick in die Geschichte des Computerwesens selbst, wo Programmierer entschieden, dass sie die Dinge auf ihre eigene Art und Weise gestalten und schließlich für die Welt frei machen wollten.

Die wesentlichen Unterschiede zwischen diesen Shells können in der Skriptsyntax gefunden werden. Jede Schale hat einen bestimmten Satz von Nuancen, die sie voneinander trennen. Wie es aussieht, dominiert Bash in Bezug auf Marktanteile, was die Suche nach Hilfe viel einfacher macht. Bash ist einfach der beste Allrounder und erfüllt die Bedürfnisse aller, bis auf die fortgeschrittensten Anwender.

Welche Shell verwenden Sie derzeit? Hast du irgendeine Shell außer Bash versucht? Was liebst oder hasst du an deiner jetzigen Shell? Teilen Sie Ihre Gedanken in den Kommentaren unten!

Bildquelle: spaxiax / Depositphotos

In this article