Welche dieser 5 Linux-Shells ist am besten?

Welche dieser 5 Linux-Shells ist am besten? / Linux

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

Was ist eine Schale??

Normalerweise, wenn Sie eine Anwendung schreiben, erfolgt dies in einer Hochsprache, die der Mensch verstehen kann. Beispiele hierfür sind C #, Java, C ++ usw. Ob Sie es glauben oder nicht, Ihr Computer sieht alles als "1" als "0" oder, wie allgemein bekannt, binär oder Maschinencode "What Is Binary". [Technologie erklärt] Was ist binär? [Technologie erklärt] Angesichts der Tatsache, dass Binärdaten für die Existenz von Computern so absolut grundlegend sind, erscheint es merkwürdig, dass wir das Thema noch nie zuvor in Angriff genommen haben. Heute dachte ich, ich würde einen kurzen Überblick darüber geben, welche binären… Read More .

Ein Compiler übersetzt dann die Hochsprache in eine Binärdatei wie eine ausführbare Datei. Diese binäre Datei führt Sie zum Starten der Anwendung aus. Nun, dies ist eine sehr allgemeine Sicht auf das, was passiert, aber denken Sie daran, Ihr Computer benötigt eine Übersetzungsebene zwischen dem, was Sie ihm sagen, und wie er das verstehen kann.

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

Die Shell ist dann eine Schnittstelle, mit der Sie mit Ihrem Betriebssystem (OS) interagieren können. Wenn Sie Befehle in Ihre Shell eingeben, ist die Shell dafür verantwortlich, diese Befehle zu interpretieren und die Magie in Gang zu setzen. Vorgänge wie das Kopieren von Dateien, das Piping und das Auflisten von Dateien liegen alle im Aufgabenbereich einer Shell. Es ist auch dafür verantwortlich, sich an Ihren Befehlsverlauf zu erinnern, um zu überprüfen, was bei einer möglichen Trunkenheit durch Ihren Kopf gegangen ist.

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

Katze / etc / Shells

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

Echo $ 0

1. Bash

Mit Abstand die beliebteste Shell unter Linux-Benutzern. Es ist schwer, sogar an Muscheln zu denken, ohne dass die Bourne-Again-SHell (bash) Teil der Gleichung ist. Viele Linux-Distributionen werden mit bash als Standardshell ausgeliefert, da bash die Standard-GNU-Shell ist. Es wurde 1989 veröffentlicht und verfügt über einige Jahrzehnte gesunde Entwicklung.

Bashs Vorgänger ist The Bourne Shell (sh), eine der ursprünglichen Unix-Shells. Ein attraktives Feature für Programmierer war, dass sie ihre SH-Skripts portieren können. Was ist Shell-Scripting und warum sollten Sie es verwenden? Was ist Shell-Scripting? Warum sollten Sie es verwenden? Zusätzlich zu der Möglichkeit, Befehle interaktiv zu akzeptieren und auszuführen, kann die Shell auch Befehle ausführen, die in einer Datei gespeichert sind. Dies wird als Shell-Scripting bezeichnet. Hier behandeln wir die Grundlagen des Shell-Skripts. Lesen Sie direkt direkt mehr zu Bash. Bash bietet auch einige Verbesserungen an seinem Vorgänger an, z. B. Befehlsabschluss und Befehlsverlauf.

Bash ist eine absolut respektable Shell, und Online-Dokumentationen gehen oft davon aus, dass Sie sie verwenden. Bash ist jedoch nicht ohne Mängel - wie jeder, der jemals ein Bash-Skript geschrieben hat, das einige Zeilen umfasst, kann das bezeugen! Es ist nicht so, dass Sie nichts tun können, sondern dass Lesen und Schreiben nicht immer besonders elegant ist. Bash ist wahrscheinlich zumindest für die nahe Zukunft hier. Es verfügt über eine umfangreiche Installationsbasis und Brigaden von Gelegenheitsnutzern und professionellen Benutzern, die bereits an ihre Verwendung und Eigenheiten gewöhnt sind.

2. KornShell

KornShell, allgemein als ksh bekannt, ist eine alternative Hülle, die in den 1980er Jahren aus den Bell Labs entstand. Ksh begann sein Leben als proprietäre Software de facto Standard für kommerzielle Unices und war daher bis 2000 nicht für Linux verfügbar. Es gibt nicht viele Unterschiede zwischen bash und ksh, aber beide haben geringfügige Vorteile gegenüber den anderen. Ksh zum Beispiel hat den alten alten Befehl cd. Wenn Sie im Verzeichnis waren / Downloads / Foo / Bar /ein/ foobar und du musstest / Downloads / Foo / Bar /zwei/ foobar Sie müssen nur laufen:

CD eins zwei


Veteranen von ksh werden sich für ihre Überlegenheit einsetzen, indem sie die Skript-Vorteile erwähnen. Dazu gehören eine bessere Schleifensyntax, natürlichere Wiederholungsmöglichkeiten von Befehlen und die kaum genutzten assoziativen Arrays. Für die grundlegende Eingabe ist bash der von ksh für fortgeschrittenes Scripting sehr ähnlich. Dies ist jedoch sicherlich eine andere Erfahrung. Eine andere Sache, von der man bedenken sollte, ist die Bitte um Hilfe für ksh online. Dies kann bedeuten, dass Sie einen fortgeschrittenen Benutzer aus seinem Schlaf geweckt haben, um Ihnen zu helfen. Relativ zu bash, wodurch Sie fast sofort eine Vielzahl von Antworten bekommen!

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

sudo apt install ksh ksh

3. Tcsh

Tcsh kann seine Wurzeln auf die Anfänge von Unix zurückführen. Es handelt sich im Wesentlichen um die C-Shell (csh) mit programmierbarer Befehlszeile, Befehlszeilenbearbeitung und einigen anderen Funktionen. Tcsh ist die Standardshell für BSD-basierte Systeme wie FreeBSD. Das große Verkaufsargument für tcsh ist die Skriptsprache, die jedem, der in C programmiert hat, sehr vertraut vorkommen sollte. Tcsh ist ein würdiger Kandidat für das Lernen, wenn Sie vor allem in C programmieren, warum sich C-Programmierung noch lohnt, warum C-Programmierung noch lohnt Es lohnt sich noch, C zu lernen, ist keine tote Sprache. Tatsächlich hat das IEEE Spectrum-Magazin 2017 die Top-2-Sprache gewählt. Hier sind fünf Gründe. Weiterlesen . Dies macht tcsh nützlich für das Prototyping kleiner C-Programme, ohne sich über Dinge wie die verwendeten Klammern verwirren zu lassen. Dieses Problem tritt normalerweise auf, wenn Sie ständig zwischen C-Programmierung und Shell-Scripting wechseln.

Tcshs Skripting wird von einigen verehrt und von anderen verabscheut. Es hat jedoch auch andere Funktionen, wie das Hinzufügen von Argumenten zu Aliasnamen und verschiedene Standardeinstellungen, die möglicherweise Ihre Präferenzen ansprechen. Eine der wichtigsten Funktionen umfasst die Art und Weise der automatischen Vervollständigung mit und Geschichte Abschlussarbeiten. Nach dem Abrufen Ihres Verlaufs durch Eingabe Geschichte. Tcsh zeigt eine nummerierte Liste Ihrer vorherigen Befehle mit einem sehr günstigen Zeitstempel an. Sie können jeden Befehl durch Eingabe ausführen !n Ersetzen von n durch die entsprechende Nummer in der angezeigten Historie. Das Ausfüllen der Registerkarte "Verlauf" in tcsh funktioniert durch Eingabe von:

!ein

Dies erweitert den letzten Befehl, der mit dem Buchstaben begonnen hat “ein”. In bash müsste man vergleichsweise tippen !a: p um den Befehl zuerst zu sehen, gefolgt von !! um es auszuführen.

Um tcsh auszuprobieren, geben Sie Folgendes ein:

sudo apt install tcsh tcsh

4. Fisch

Bei all der Ernsthaftigkeit von Linux hat das Team von fish einen Sinn für Humor in ihr Projekt eingebettet. Auf ihrer Website wird der humoristische Titel gelesen “Zum Schluss noch eine Kommandozeilen-Shell für die 90er Jahre” - Fisch (“ffreundlich ichinteraktiv Schell”) wurde im Jahr 2005 entwickelt “Prachtvolle VGA-Farbe,” sind einige Verbesserungen gegenüber anderen Shells. Befehle mit ungültiger Syntax werden rot und die korrekte Syntax blau angezeigt. Darüber hinaus gibt es reichhaltige Sätze von Registerkarten-Vervollständigungen wie farbkodierte Vorschläge für die automatische Vervollständigung, die auf Ihrem Verlauf basieren.

Fish bietet auch die Befehlsausführung basierend auf den Man-Pages auf Ihrem Computer. So verkürzen Sie Man-Seiten in lesbare Erklärungen unter Linux und macOS So verkürzen Sie Man-Seiten in lesbare Erklärungen unter Linux und MacOS MacOS und Linux haben jeweils einen nützlichen Befehl, "man" Zeigt manuelle Erklärungen für Terminalbefehle an. Da sie oft langwierig sind, können Sie das tldr-Tool verwenden, um sie in lesbare Stücke zu verkü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 Manpage und fügt sie Ihren automatisch vervollständigenden Vorschlägen hinzu. Ordentlich! Wenn Sie sich mehr mit der Befehlszeile vertraut machen möchten, können Sie mit Fisch einen guten Startpunkt haben.

Um zu probieren, worum es bei Fisch geht, geben Sie Folgendes ein:

sudo apt installiere Fischfisch

5. Z Shell

Viele würden dies für die beste Hülle halten, die völlig verständlich wäre. Zsh hat Ähnlichkeiten mit bash und ksh und enthält viele der darin enthaltenen Funktionen sowie tcsh. Zu den nützlichen Funktionen von zsh gehört eine navigierbare Autovervollständigungsliste. Im Gegensatz zu bash, das lediglich alle verfügbaren Befehle auflistet und Sie zur manuellen Eingabe auffordert. Globbing in zsh ist unerklärlich nützlich. Eingabe:

vim / u / l / b / a

Öffnet die Datei automatisch:

/usr/local/bin/autoupdate.sh

Die Rechtschreibkorrektur in zsh ist der von bash weit überlegen. In einem CD Befehl Bash kann bis zu ein Zeichen korrigieren. Andererseits kann Zsh so konfiguriert werden, dass es 10 Rechtschreibfehler in einem Wort automatisch korrigiert. Zsh nagelt auch Befehlszeilen-Historien. Dies ist äußerst nützlich für Benutzer, die viel Zeit auf dem Terminal verbringen. Zsh teilt auf magische Weise Historien über Terminals hinweg, sodass Sitzungen mit mehreren Terminals zum Kinderspiel werden.

Zsh kann bei der ersten Verwendung eine Weile dauern, wenn Sie die Standardkonfiguration nicht verwenden. Um es auszuprobieren, geben Sie Folgendes ein:

sudo apt install zsh zsh

Welche Shell ist für mich??

Die Tatsache, dass diese Optionen verfügbar sind, ist brillant. Sie sind Einblicke in die Geschichte des Computing selbst, in der sich Programmierer dazu entschlossen haben, die Dinge auf ihre eigene Art zu machen und sie schließlich der Welt frei zu machen.

Die wesentlichen Unterschiede zwischen diesen Shells sind in der Skriptsyntax zu finden. Jede Schale hat bestimmte Nuancen, die sie voneinander trennen. So wie es aussieht, dominiert bash hinsichtlich des Marktanteils, was die Suche nach Hilfe viel einfacher macht. Bash ist einfach der beste Allrounder und erfüllt die Bedürfnisse aller, aber nicht der fortschrittlichsten Benutzer.

Welche Shell verwenden Sie derzeit? Haben Sie eine andere Shell als bash ausprobiert? Was liebst oder hasst du an deiner aktuellen Hülle? Teilen Sie Ihre Gedanken in den Kommentaren unten mit!

Bild-Gutschrift: spaxiax / Depositphotos

Erfahren Sie mehr über: Linux Bash Shell.