Befehlszeilen: Warum beschäftigen sich die Leute immer noch damit?

Konzeptbild eines Linux-Terminals voller Text auf einem Laptop

Fatmawati Achmad Zaenuri/Shutterstock.com



Die Kommandozeile ist fast 50 Jahre alt, aber nicht veraltet. Textbasierte Terminals sind auch im Zeitalter grafischer Desktops und Touchscreen-Gadgets immer noch der beste Weg, um viele Aufgaben zu erledigen.

Tatsächlich wird die Befehlszeile mit der Entwicklung von Microsoft mehr denn je respektiert eine leistungsstarke neue Windows Terminal-Anwendung . Windows 10 Power Shell Umgebung ist überraschend leistungsstark, aber Microsoft hat immer noch alles getan, um Unterstützung für im Grunde hinzuzufügen die vollständige Linux-Befehlszeilenumgebung für Windows 10 .





Die Kommandozeile war einst die einzige Option

Wenn Sie einmal mit einem Computer interagieren wollten, haben Sie getippt. Das war es. Es gab nichts anderes. Das mag restriktiv und archaisch klingen, aber als Ergänzung zur Verwendung von Lochkarten oder perforierten Papierbändern war das Tippen radikal und transformativ. Und Migration von Fernschreiber mit ihren Papierrollen zu Terminals mit Kathodenstrahlröhre (CRT)-Bildschirme war eine weitere grundlegende Veränderung in der Interaktion zwischen Mensch und Computer.

Dieser Schritt ebnete den Weg dafür, dass die interaktive Shell wirklich zur Geltung kommt. Jetzt könnten Sie Anweisungen an den Computer senden und sehr schnell Antworten auf Ihrem Bildschirm anzeigen lassen. Kein Klack-Klack-Klack mehr, während Sie darauf gewartet haben, dass Ihr Papierausdruck klappernd aus Ihrem Fernschreiber rutscht.



Fair genug, aber das war damals, das ist jetzt. Computing ist ein ganz anderes Ballspiel. Abgesehen von den offensichtlich eingeschlossenen Fällen wie der Verwendung eines Computers, auf dem keine grafische Desktop-Umgebung installiert ist, oder der Verwendung eines Remote-Computers über SSH über eine Verbindung mit geringer Bandbreite oder die Steuerung eines kopflos oder eingebettet System, warum die Befehlszeile über einen grafischen Desktop verwenden?

Jargon erklärt

Begriffe wie Befehlszeile, Terminalfenster und Shell werden von manchen Leuten fast austauschbar verwendet. Das ist falscher Jargon. Sie sind alle ganz unterschiedlich. Sie sind verwandt, aber nicht dasselbe.

ZU Terminalfenster ist ein fenster in a grafische Desktop-Umgebung das eine Emulation eines Fernschreiberterminals ausführt.



Der Hülse ist das Programm, das im Terminalfenster ausgeführt wird. Es nimmt Ihre Eingabe entgegen und versucht je nach Eingabe, die Anweisungen selbst zu interpretieren und auszuführen, sie an einige der anderen Dienstprogramme weiterzugeben, aus denen das Betriebssystem besteht, oder ein Skript oder Programm zu finden, das Ihrer Eingabe entspricht.

VERBUNDEN: Was ist der Unterschied zwischen Bash, Zsh und anderen Linux-Shells?

Der Befehlszeile ist, wo Sie tippen. Dies ist die Eingabeaufforderung, die die Shell anzeigt, wenn sie darauf wartet, dass Sie einige Anweisungen eingeben. Der Begriff Befehlszeile wird auch verwendet, um sich auf den tatsächlichen Inhalt Ihrer Eingabe zu beziehen. Wenn Sie beispielsweise mit einem anderen Computerbenutzer über Schwierigkeiten sprechen, die Sie beim Versuch hatten, ein Programm zum Laufen zu bringen, fragt er Sie möglicherweise: Welche Befehlszeile haben Sie verwendet? Sie fragen nicht, welche Shell Sie verwendet haben; Sie möchten wissen, welchen Befehl Sie eingegeben haben.

Zusammen bilden diese die Befehlszeilenschnittstelle (CLI).

Warum die Befehlszeile im Jahr 2019 verwenden?

Die CLI kann für diejenigen, die nicht damit vertraut sind, rückständig und verwirrend erscheinen. Sicherlich gibt es in einem modernen Betriebssystem keinen Platz für eine so veraltete und geekige Art, einen Computer zu verwenden? Haben wir das nicht vor Jahrzehnten aufgegeben, als Fenster, Symbole und Mäuse auftauchten und grafische Desktop-Umgebungen mit grafische Benutzeroberflächen (GUIs) verfügbar geworden?

Ja, die GUI gibt es schon seit Jahrzehnten. Die erste Version von Microsoft Windows war veröffentlicht vor langer Zeit im Jahr 1985 und wurde 1990 mit der Veröffentlichung von Windows 3.0 zur PC-Desktop-Norm.

Anzeige

Das X Window System, verwendet in Unix und Linux, war eingeführt 1984 . Dies brachte grafische Desktop-Umgebungen zu Unix und seinen vielen Derivaten, Klonen und Ablegern.

Aber die Veröffentlichung von Unix datiert diese Ereignisse um a mehr als ein Jahrzehnt . Und weil es keine andere Möglichkeit gab, musste alles über die Kommandozeile möglich sein. Alle menschlichen Interaktionen, alle Konfigurationen, jede Verwendung des Computers musste über die bescheidene Tastatur ausgeführt werden können.

So, durch die Tatsache , die CLI kann alles. Eine GUI kann immer noch nicht alles tun, was die CLI tun kann. Und selbst für die Teile, die sie leisten kann, ist die CLI normalerweise schneller, flexibler, kann Skripts erstellen und ist skalierbar.

Und es gibt einen Standard.

Sie sind dank POSIX standardisiert

POSIX ist ein Standard für Unix-ähnliche Betriebssysteme – im Grunde alles, was nicht Windows ist. Und sogar Windows hat die Windows-Subsystem für Linux (WSL.) Öffnen Sie ein Terminalfenster auf einem beliebigen POSIX-kompatiblen (oder nahezu kompatiblen) Betriebssystem, und Sie befinden sich in einer Shell. Auch wenn die Shell oder Distribution eigene Erweiterungen und Erweiterungen bereitstellt, können Sie sie sofort verwenden, solange sie die Kernfunktionalität von POSIX bereitstellen. Und Ihre Skripte werden ausgeführt.

Die Kommandozeile ist der kleinste gemeinsame Nenner. Erfahren Sie, wie Sie es verwenden, und können Sie unabhängig von Linux-Distribution und grafischer Desktop-Umgebung alle erforderlichen Aufgaben ausführen. Verschiedene Desktops haben ihre eigene Vorgehensweise. Verschiedene Linux-Distributionen bündeln verschiedene Dienstprogramme und Programme.

Aber öffnen Sie ein Terminalfenster, und Sie werden sich wie zu Hause fühlen.

Befehle sind so konzipiert, dass sie zusammenarbeiten

Jeder der Linux-Befehle ist darauf ausgelegt, ein bestimmtes Etwas zu tun und dieses etwas gut zu machen. Die zugrunde liegende Designphilosophie besteht darin, mehr Funktionalität hinzuzufügen, indem ein weiteres Dienstprogramm hinzugefügt wird, das mit den vorhandenen verbunden oder verkettet werden kann, um das gewünschte Ergebnis zu erzielen.

Anzeige

Dies ist so nützlich, dass Microsoft alle Anstrengungen unternommen hat, um Unterstützung für die vollständige Linux-Befehlszeile für Windows 10 hinzuzufügen!

Zum Beispiel die |_+_| Befehl wird von anderen Befehlen verwendet, um Text in alphabetischer Reihenfolge zu sortieren. Es ist nicht erforderlich, in die anderen Linux-Befehle Sortierfunktionen einzubauen. Im Allgemeinen erlauben GUI-Anwendungen diese Art der kollaborativen Zusammenarbeit nicht.

Schauen Sie sich das folgende Beispiel an. Dies verwendet die |_+_| Befehl, um die Dateien im aktuellen Verzeichnis aufzulisten. Die Ergebnisse werden in die |_+_| . geleitet Befehl und sortiert nach der fünften Datenspalte (das ist die Dateigröße). Die sortierte Liste wird dann in die |_+_| Befehl, der standardmäßig auflistet die ersten zehn zeilen seiner Eingabe.

sort

Wir erhalten eine ordentliche Auflistung der kleinsten Dateien im aktuellen Verzeichnis.

Auflistung der zehn kleinsten Dateien im aktuellen Verzeichnis

Durch Ändern eines Befehls – mit |_+_| statt |_+_|—können wir eine Liste der zehn größten Dateien im aktuellen Verzeichnis abrufen.

ls

Anzeige

Damit erhalten wir erwartungsgemäß unsere Liste der zehn größten Dateien.

Liste der zehn größten Dateien im aktuellen Verzeichnis

Die Ausgabe von Befehlen kann sein umgeleitet und in Dateien erfasst . Die reguläre Ausgabe (|_+_|) und Fehlermeldungen (|_+_|) können separat erfasst werden.

VERBUNDEN: Was sind stdin, stdout und stderr unter Linux?

Befehle können Umgebungsvariablen enthalten. Der folgende Befehl listet den Inhalt Ihres Home-Verzeichnisses auf:

sort

Dies funktioniert von überall im Verzeichnisbaum.

Auflistung des Home-Verzeichnisses im Terminalfenster

Wenn Sie der Gedanke an all das Tippen immer noch irritiert, können Techniken wie die Vervollständigung der Tabulatoren die Anzahl der Eingaben du musst.

Skripte ermöglichen Automatisierung und Wiederholbarkeit

Menschen sind anfällig für Fehler.

Mit Skripten können Sie eine Reihe von Anweisungen standardisieren, von denen Sie wissen, dass sie bei jeder Ausführung des Skripts auf die gleiche Weise ausgeführt werden. Dies bringt Konsistenz in die Systemwartung. In die Skripte können Sicherheitsprüfungen eingebaut werden, die es dem Skript ermöglichen, zu bestimmen, ob es fortgesetzt werden soll. Dadurch entfällt für den Benutzer die Notwendigkeit, über ausreichende Kenntnisse zu verfügen, um die Entscheidung selbst zu treffen.

Anzeige

Weil du es kannst Aufgaben automatisieren mit |_+_| auf Linux und anderen Unix-ähnlichen Systemen können lange, komplizierte und sich wiederholende Aufgaben vereinfacht oder zumindest einmal berechnet und dann für die Zukunft automatisiert werden.

PowerShell-Skripts bieten unter Windows eine ähnliche Leistung, und Sie können ihre Ausführung über den Taskplaner planen. Warum jedes Mal, wenn Sie einen Computer einrichten, auf 50 verschiedene Optionen klicken, wenn Sie einen Befehl ausführen könnten, der automatisch alles ändert?

Das Beste aus beiden Welten

Um das Beste aus Linux – oder einem beliebigen Betriebssystem als Power-User – herauszuholen, müssen Sie unbedingt die CLI . verwenden und die GUI.

Die GUI ist für die Verwendung von Anwendungen unübertroffen. Selbst eingefleischte Befürworter von Befehlszeilen müssen das Terminalfenster verlassen und hin und wieder Office-Produktivitätssuiten, Entwicklungsumgebungen und grafische Manipulationsprogramme verwenden.

Befehlszeilensüchtige hassen die GUI nicht. Sie bevorzugen lediglich die Vorteile der Verwendung der CLI – für die entsprechenden Aufgaben. Bei der Administration gewinnt die CLI zweifellos. Mit der CLI können Sie mit gleichem Aufwand Änderungen an einer Datei, einem Verzeichnis, einer Auswahl von Dateien und Verzeichnissen oder komplett globalen Änderungen vornehmen. Der Versuch, dies mit der GUI zu tun, erfordert oft langwierige und sich wiederholende Tastatur- und Mausaktionen, wenn die Anzahl der betroffenen Objekte steigt.

Die Befehlszeile bietet Ihnen die höchste Wiedergabetreue. Jede Option jedes Befehls steht Ihnen zur Verfügung. Und viele der Linux-Befehle haben viele Optionen. Um nur ein Beispiel zu nehmen, betrachte die |_+_| Befehl. Schauen Sie sich seine an man-Seite und überlegen Sie sich dann, wie Sie das in eine GUI einpacken würden.

Anzeige

Es gibt zu viele Optionen, um sie dem Benutzer in einer effektiven GUI zu präsentieren. Es wäre überwältigend, unattraktiv und umständlich in der Anwendung. Und das ist das komplette Gegenteil von dem, was eine GUI sein soll.

Es sind Pferde für Kurse. Scheuen Sie sich nicht vor dem CLI-Pferd. Es ist oft das schnellere und agilere Ross. Verdiene dir deine Sporen und du wirst es nie bereuen.

WEITER LESEN Profilfoto von Dave McKay Dave McKay
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen
Profilfoto von Chris Hoffman Chris Hoffmann
Chris Hoffman ist Chefredakteur von How-To Geek. Er schreibt über ein Jahrzehnt über Technologie und war zwei Jahre lang Kolumnist bei PCWorld. Chris hat für die New York Times geschrieben, wurde als Technologieexperte von Fernsehsendern wie Miamis NBC 6 interviewt und ließ sich von Nachrichtenagenturen wie der BBC über seine Arbeit berichten. Seit 2011 hat Chris über 2.000 Artikel geschrieben, die fast eine Milliarde Mal gelesen wurden – und das nur hier bei How-To Geek.
Vollständige Biografie lesen

Interessante Artikel