Werbung
Sind Sie mit der Bash-Shell unter Linux zufrieden? Oder möchten Sie lieber eine Alternative ausprobieren? Es stehen Tsch, Fisch, KornShell und Z Shell zur Auswahl. Aber welche dieser Linux-Shells ist die beste?
Was ist eine Shell?
Wenn Sie eine Anwendung schreiben, erfolgt dies normalerweise in einer Hochsprache, die Menschen verstehen können. Beispiele hierfür sind C #, Java, C ++ usw. Ob Sie es glauben oder nicht, Ihr Computer sieht alles als 1s als 0s oder, wie allgemein bekannt, als Binär- oder Maschinencode Was ist binär? [Technologie erklärt]Angesichts der Tatsache, dass Binärdateien für die Existenz von Computern so grundlegend sind, erscheint es seltsam, dass wir uns noch nie mit diesem Thema befasst haben. Daher hätte ich heute gedacht, ich würde einen kurzen Überblick darüber geben, welche Binärdateien ... Weiterlesen .
Ein Compiler übersetzt dann die Hochsprache in eine Binärdatei wie eine ausführbare Datei. Diese Binärdatei wird ausgeführt, um die Anwendung zu starten. Dies ist eine sehr allgemeine Ansicht dessen, was passiert. Denken Sie jedoch daran, dass Ihr Computer eine Übersetzungsebene zwischen dem, was Sie ihm sagen, und dem, was er verstehen kann, 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 gleichzeitig 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 für die Interaktion mit Ihrem Betriebssystem. Während Sie Befehle in Ihre Shell eingeben, ist die Shell dafür verantwortlich, diese Befehle zu interpretieren und die Magie zu verwirklichen. Vorgänge wie das Kopieren von Dateien, das Weiterleiten von Pipings und das Auflisten von Dateien fallen in den Zuständigkeitsbereich einer Shell. Es ist auch dafür verantwortlich, sich an Ihren Befehlsverlauf zu erinnern, um zu überprüfen, was Ihnen zu einem Zeitpunkt möglicher Trunkenheit durch den Kopf gegangen ist.
Öffnen Sie das Terminal und geben Sie Folgendes ein, um alle auf Ihrem System verfügbaren Shells zu ermitteln:
Katze / etc / Muscheln
Um herauszufinden, welche Shell Sie derzeit verwenden, geben Sie Folgendes ein:
Echo $ 0
1. Bash
Mit Abstand die beliebteste Shell unter Linux-Benutzern. Es ist schwer, an Muscheln zu denken, ohne dass die Bourne-Again-Muschel (Bash) Teil der Gleichung ist. Viele Linux-Distributionen werden mit bash als Standard-Shell ausgeliefert, da bash die Standard-GNU-Shell ist. Es wurde 1989 veröffentlicht und verfügt über einige Jahrzehnte gesunder Entwicklung.
Bashs Vorgänger ist The Bourne Shell (sh), eine der ursprünglichen Unix-Shells. Ein attraktives Merkmal für Programmierer war, dass sie es konnten portieren ihre sh-Skripte Was ist Shell Scripting und warum sollten Sie es verwenden?Die Shell kann nicht nur Befehle interaktiv akzeptieren und ausführen, sondern auch Befehle ausführen, die in einer Datei gespeichert sind. Dies wird als Shell-Scripting bezeichnet. Hier behandeln wir die Grundlagen des Shell-Scripting. Weiterlesen direkt völlig unverändert zu schlagen. Bash bietet seinem Vorgänger auch verschiedene Verbesserungen wie Befehlsabschluss und Befehlsverlauf.
Bash ist eine absolut seriöse Shell, und in der Online-Dokumentation wird häufig davon ausgegangen, dass Sie sie verwenden. Bash ist jedoch nicht ohne Mängel - wie jeder, der jemals ein Bash-Skript geschrieben hat, das einige Zeilen umfasst, bezeugen kann! Es ist nicht so, dass Sie etwas nicht tun können, es ist nicht immer besonders elegant zu lesen und zu schreiben. Bash ist wahrscheinlich hier, um zumindest in naher Zukunft zu bleiben. Es verfügt über eine umfangreiche Installationsbasis und Brigaden von Gelegenheits- und Berufsbenutzern, die bereits an die Verwendung gewöhnt sind, sowie über Macken.
2. KornShell
KornShell ist eine alternative Shell, die in den 1980er Jahren aus Bell Labs stammt. Ksh begann sein Leben als proprietäre Software de facto Standard für kommerzielle Unices und war daher erst 2000 für Linux verfügbar. Es gibt nicht viele Unterschiede zwischen bash und ksh, aber jeder hat kleinere Vorteile gegenüber dem anderen. Ksh hat zum Beispiel den Befehl cd old new. Wenn Sie im Verzeichnis waren /Downloads/foo/bar/ein/foobar und du musstest es schaffen /Downloads/foo/bar/zwei/foobar Sie müssen nur laufen:
cd eins zwei
Veteranen von ksh werden seine Überlegenheit befürworten, indem sie die Vorteile von Skripten 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 fortgeschrittenes Scripting ziemlich ähnlich, dies ist jedoch sicher eine andere Erfahrung. Eine andere Sache, die Sie beachten sollten, ist das Anfordern von Hilfe für ksh online. Dies kann bedeuten, dass ein fortgeschrittener Benutzer aus seinem Schlaf geweckt wird, um Ihnen zu helfen. Relativ zu Bash, bei dem Sie fast sofort eine Reihe von Antworten erhalten!
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 handelt sich im Wesentlichen um die C-Shell (csh) mit programmierbarer Befehlszeilenvervollständigung, 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 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 sich in erster Linie befinden Programmierung in C. Warum C-Programmierung immer noch lernenswert istC ist keine tote Sprache. Das IEEE Spectrum-Magazin hat es 2017 als Nummer 2 der Top-Sprachen eingestuft. Hier sind fünf Gründe warum. Weiterlesen . Dies macht tcsh nützlich für das Prototyping kleiner C-Programme, 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-Scripting wechseln.
Tcshs Scripting wird von einigen geliebt und von anderen verabscheut. Es verfügt jedoch auch über andere Funktionen, einschließlich des Hinzufügens von Argumenten zu Aliasen und verschiedener Standardeinstellungen, die Ihren Einstellungen entsprechen könnten. Zu den wesentlichen Merkmalen gehört die Art und Weise der automatischen Vervollständigung mit
!ein
Dies wird bis zum letzten Befehl erweitert, der mit dem Buchstaben "a" begann. In Bash müssten Sie vergleichsweise tippen ! a: p um zuerst den Befehl zu sehen, gefolgt von !! um es auszuführen.
Geben Sie Folgendes ein, um tcsh auszuprobieren:
sudo apt install tcsh. tcsh
4. Fisch
Bei aller Ernsthaftigkeit von Linux hat das Team von fish einen Sinn für Humor in sein Projekt eingebettet. Auf ihrer Website lautet der ironische Titel „Endlich eine Kommandozeilen-Shell für die 90er Jahre“ - fish („ffreundlich ichnteraktiv Schell ”) wurde 2005 entwickelt. Neben der angepriesenen „Glorious VGA Color“ gibt es einige Verbesserungen gegenüber anderen Shells. Befehle mit einer ungültigen Syntax werden rot und die korrekte Syntax blau angezeigt. Darüber hinaus gibt es umfangreiche Registerkartenvervollständigungen wie farbcodierte Vorschläge zur automatischen Vervollständigung, die auf Ihrem Verlauf basieren.
Fisch bietet auch Befehlsabschluss basierend auf dem Manpages auf Ihrem Computer So kürzen Sie Man Pages in lesbare Erklärungen unter Linux und macOSMacOS und Linux haben jeweils einen nützlichen Befehl, "man", der manuelle Erklärungen für Terminalbefehle anzeigt. Verwenden Sie das tldr-Tool, um sie in lesbare Abschnitte zu kürzen, da sie oft langwierig sind. Weiterlesen . Wenn Sie also gerade ein neues Programm installiert haben und sich an dessen Syntax gewöhnen müssen, greift fish auf die Syntax in der Manpage zu und fügt sie Ihren Vorschlägen zur automatischen Vervollständigung hinzu. Ordentlich! Wenn Sie sich mit der Befehlszeile vertraut machen möchten, ist Fisch ein guter Ausgangspunkt.
Geben Sie Folgendes ein, um zu probieren, worum es bei Fischen geht:
sudo apt Fisch installieren. Fisch
5. Z Shell
Viele würden dies als die beste Hülle zum Schluss betrachten, was völlig verständlich wäre. Zsh hat Ähnlichkeiten mit bash und ksh und enthält viele der darin enthaltenen Funktionen sowie tcsh. Einige nützliche Funktionen von zsh umfassen eine navigierbare Autovervollständigungsliste. Im Gegensatz zu bash, bei dem lediglich alle verfügbaren Befehle aufgelistet werden und Sie manuell eingeben können. 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 Befehls-Bash kann bis zu einem Zeichen korrigieren. Zsh hingegen kann so konfiguriert werden, dass 10 Rechtschreibfehler in einem Wort automatisch korrigiert werden. Zsh nagelt auch Befehlszeilenhistorien. Dies ist äußerst nützlich für Benutzer, die übermäßig viel Zeit am Terminal verbringen. Zsh teilt auf magische Weise die Historien zwischen den Terminals und macht Sitzungen mit mehreren Terminals zum Kinderspiel.
Die Konfiguration von Zsh kann bei der ersten Verwendung eine Weile dauern, wenn Sie nicht mit der Standardkonfiguration arbeiten. Geben Sie Folgendes ein, um es zu versuchen:
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 Rechnens selbst, in der Programmierer beschlossen, die Dinge auf ihre eigene Weise zu gestalten und sie schließlich der Welt zugänglich zu machen.
Die wesentlichen Unterschiede zwischen diesen Shells liegen in der Skriptsyntax. Jede Schale hat einen bestimmten Satz von Nuancen das trennt sie voneinander. Derzeit dominiert Bash in Bezug auf den Marktanteil, was die Suche nach Hilfe erheblich vereinfacht. Bash ist einfach der beste Allrounder und erfüllt die Anforderungen aller außer den fortgeschrittensten Benutzern.
Welche Shell verwenden Sie derzeit? Haben Sie eine andere Shell als Bash ausprobiert? Was liebst oder hasst du an deiner aktuellen Shell? Teilen Sie Ihre Gedanken in den Kommentaren unten!
Bildnachweis: spaxiax /Depositphotos
Yusuf möchte in einer Welt voller innovativer Unternehmen, Smartphones mit dunklem Röstkaffee und Computern mit hydrophoben Kraftfeldern leben, die zusätzlich Staub abweisen. Als Business Analyst und Absolvent der Durban University of Technology mit über 10 Jahren Erfahrung in einer schnell wachsenden Technologiebranche ist er gerne der Mittler zwischen…