Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Die CLI-Shell hat immer noch viele Vorteile Was ist eine Kommandozeile?

Von M.A. Jürgen Höfling

Anbieter zum Thema

Computerprogramme setzen in der Hardware ein technisches Räderwerk in Gang, das man heutzutage gern durch verschiedene Schichten vollständig kaschiert. Das hat nicht nur Vorteile. Mit einem Kommandozeilen-Interface ist man dem Räderwerk jedenfalls erfreulich nahe und entsprechend effizient.

Die Befehlszeile ist die Basis einer komfortablen Skript-Programmierung.
Die Befehlszeile ist die Basis einer komfortablen Skript-Programmierung.
(Bild: Johnson Martin auf Pixabay)

Die grafische Benutzeroberfläche alias GUI hin oder her: oft ist die gute, alte(?) Befehlszeilenschnittstelle (CLI) einfach der beste Weg, um etwas zu erreichen; und zuweilen ist die Befehlszeile sogar der einzige Weg:

Um beispielsweise bei Festplatten, die mit bitlocker verschlüsselt sind, die Verschlüsselung für einen Neustart auszusetzen, muss man die Kommandozeile „Manage-bde c: -Protectors disable -rc 1“ eingeben. Eine GUI-Alternative, die diesen Effekt zu erreicht, gibt es nach Kenntnis des Autors nicht.

Ob im Netzwerk-Management, bei CAD-Programmen oder im System-Management allgemein: Außerhalb der PC-Massennutzung hat die CLI-Schnittstelle eigentlich nie ihre Bedeutung verloren. Beispiel Netzwerke: Gewiss lassen sich letztere heute beispielsweise auch über APIs programmieren, gleichwohl lässt sich über die Befehlszeilenschnittstelle eines Netzgeräts immer noch alles - von der grundlegenden Switch-Konfiguration bis zur Erfassung detaillierter Metriken zur Netzwerkleistung - steuern.

Die verschiedenen Shells

Sowohl die grafische Benutzeroberfläche als auch die textbasierte Schnittstelle stellen eine programmiertechnische Schicht (Shell) dar, über die die Nutzer mit dem jeweiligen Betriebssystem kommunizieren. Über die Shell können sie in das System gelangen, um Programme auszuführen oder Einstellungen vorzunehmen beziehungsweise zu verwalten.

Shells sind die äußerste Schicht des Betriebssystems und sind letztlich eine Anwendung wie jede andere auch. Ein Betriebssystem kann mehr als eine Shell haben. So gibt es in Windows die „Eingabe-Aufforderung“ und die „Powershell“. Die Standard-Shell in Linux (und anderen Unix-basierten Betriebssystemen) ist „Bash“, es können aber auch C-Shell, Z-Shell und noch andere Shells als Standard eingestellt werden.

Die grafische Benutzeroberfläche ist lediglich eine Shell unter vielen anderen, die miteinander im Wettbewerb stehen. Insofern ist es nicht verwunderlich, dass es in einer bestimmten Shell Funktionen gibt, die es in der GUI nicht gibt (siehe das Beispiel am Anfang dieses Artikels). Spezifika jenseits der GUI-Shell lassen sich beispielsweise durch Shell-Befehle erzielen, die mit Argumenten versehen sind.

Während eine GUI-Shell viel Overhead benötigt, dadurch aber für Anfänger und Gelegenheitsnutzer relativ intuitiv zu bedienen ist, bieten CLI-basierte Shells Benutzerinnen eine streng funktionale und „frugale“, dadurch aber auch sehr präzise und effiziente Art der Interaktion mit dem Betriebssystem.

„Befehlszeilen-Programme“

Die Mächtigkeit einer Befehlszeilenschnittstelle zeigt sich vor allem dann, wenn man Ketten von einzelnen Befehlszeilen zu einem Skript zusammensetzt und dieses als Programm abarbeiten lässt. In diesem Fall werden über die Befehlszeile umfangreiche Prozesse automatisch abgewickelt. Mehr noch: Durch so genannte Befehls-Pipes lassen sich mehrere Programme verbinden.

Die Ergebnisse eines Programms bilden dann den Input für das nächste. Darüber hinaus gibt es Möglichkeiten, den mit einer Sitzung einhergehenden Befehlsverlauf einzusehen oder auch zu dokumentieren.

Für die Automatisierung von Einstellungen, die eine große bis sehr große Anzahl von IT-Systemen betreffen, ist die Nutzung der Kommandozeile in der eben beschriebenen Weise die erste Wahl. Besonders vorteilhaft ist dabei, dass man das Systems so konfigurieren kann, dass bestimmte Skripts automatisch starten, wenn eine Aktion und auch ein ganzes Bündel von Aktionen anstehen.

GUI-Shells sind für all diese Zwecke entweder schwerfällig oder gar nicht zu gebrauchen. Auf jeden Fall besteht die Gefahr, dass das Skripting quasi manuell ablaufen muss und ein einziges „Klick-Konzert“ durch die angebotenen Dialogfenster wird.

Skripte vs. Low-Code / No Code

Ist eine CLI-Shell nur etwas für Admins und Codier-Freaks und die GUI-Shell für die „Normalos“? So sicher scheint das dem Autor nicht, denn der Weg zum „Low Code“ oder gar „No Code“ ist nicht ohne Hindernisse und birgt nicht nur Vorteile.

Oft wird argumentiert, dass man erst einmal ausreichend viele Befehle auswendig lernen muss, um die CLI-Schnittstelle sinnvoll nutzen zu können. Das ist sicher richtig, aber muss man nicht auch für die GUI pauken, wenn man deren Möglichkeiten ausreizen will. „Intuitiv“ ist durchaus ein dehnbarer Begriff.

Aber klar: Bildersprache ist heutzutage modern und Texte gelten eher als altmodisch. Angeblich sagt ein Bild mehr als tausend Worte. Wer gute Erfahrungen mit kleinen oder auch größeren Programmierexperimenten mit Skripten an der Konsole gemacht hat, sieht das vermutlich etwas differenzierter.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:48589512)