Programmieren lernen – Teil 8 (Die Kommandozeile)

In diesem Artikel geht es darum, was die Kommandozeile ist, wozu man sie braucht und wie man sie benutzt.

Die Kommandozeile

Jetzt endlich ist es an der Zeit, die Kommandozeile kennen zu lernen. Diese wird oft auch “Terminal” oder “Konsole” genannt, also falls diese Begriffe in Zukunft auftauchen, ist damit immer die Kommandozeile gemeint. Mit Hilfe der Kommandozeile können ganz bestimmte Programme, nämlich Kommandozeilen-Programme gestartet und bedient werden. Beispiel: Unser erstes Programm, das “Hallo Welt!”-Programm ist ein Kommandozeilen-Programm und wird deshalb im Rahmen einer Kommandozeile laufen. Rein prinzipiell könnte man ein Kommandozeilen-Programm auch außerhalb einer Kommandozeile ausführen. Nur dann wäre es dem Benutzer nicht möglich das Programm zu bedienen. Genau für diesen Zweck wird nämlich die Kommandozeile gebraucht: als Umgebung, um mit den Programmen, die in ihr laufen, Input und Output auszutauschen. Der Vollständigkeit halber möchte ich erwähnen, dass es eine Gattung von Programmen gibt, die tatsächlich ohne Dateneingabe und -ausgabe ihre Arbeit verrichten, so genannte Dienstprogramme. Das sind zumeist Betriebssystem-Programme, die im Hintergrund laufen und z. B. die Computer-Hardware überwachen. Solche Dienstprogramme sind in der Tat Kommandozeilen-Programme, die nicht in einer Kommandozeile laufen, sie sind aber eine Ausnahme.

Eine Kommandozeile öffnen

Wir werden jetzt einfach eine Kommandozeile starten. Auf jedem Betriebssystem hat sie einen anderen anderen Namen und ist an einer anderen Stelle in den Menüs zu finden.

Windows Unter Windows heißt sie “Eingabeaufforderung” und liegt im Programm-Menü unter “Zubehör”.
Linux Unter Linux gibt es verschiedene Kommandozeilen, meistens mit dem Namen “Terminal”.
MacOS In MacOS heißt die Kommandozeile “Terminal” und ist in den “Dienstprogrammen” zu finden.

Die Kommandozeile ist zumeist ein Fenster mit dunklem/schwarzem Hintergrund und heller/weißer Schrift. Irgendwo sollte ein Cursor blinken, dann ist die Kommandozeile (das Terminal) bereit, Benutzereingaben aufzunehmen.

Das erste Programm starten

Um ein beliebiges Programm im Rahmen des soeben geöffneten Terminals zu starten, gibt man einfach über die Tastatur den Namen eines Programms ein, gefolgt von einem Betätigen der Enter-Taste. Da wir selbst noch kein Programm erstellt haben, werden wir jetzt zu Anschauungs-Zwecken ein bereits existierendes Programm starten, das bei der Installation des Betriebssystems mitgeliefert wurde. Wir geben also mit der Tastatur folgendes ein:

help

Nach dieser Eingabe betätigen wir die Enter-Taste. Das Programm “help” spuckt einen ganzen Schwung an Text aus. Darunter (nach dem Text) sollte wieder der Cursor blinken.

Was ist hier passiert? Wir haben mit unserer Eingabe von “help” und der Enter-Taste sinnbildlich auf den roten Knopf des existierenden Programms “help” gedrückt. Dieses hat uns eine ganze Menge Text auf das Output-Förderband gelegt, den wir über die Kommandozeile angezeigt bekommen haben. Input hat “help” von uns nicht erhalten. Da der angezeigte Output der einzige Zweck, die einzige Funktion, von “help” ist, hat sich das Programm danach wieder beendet. Das sehen wir daran, dass in der Kommandozeile wieder der Cursor blinkt, was bedeutet, dass wir wieder etwas eingeben können. Zum Beispiel könnten wir “help” noch einmal starten. Es wird wieder der genau gleiche Output dargestellt werden, das ließe sich beliebig wiederholen. Immer wieder könnten wir “help” von Neuem ausführen, es würde einige Zeilen Output in die Kommandozeile schreiben, sofort danach ist help wieder beendet. Jedes erneute Aufrufen von “help” entspricht in unserem Vergleich der grünen Wiese einem neuen Drücken auf den roten Knopf.

Kommandos

Es gibt Programme, wie auch das Programm “help”, die gehören von Anfang an fest zu einer Kommandozeile dazu. Sie sind immer verfügbar, weil sie sozusagen mitgeliefert wurden. Diese Programme nennt man “Kommandos”. Technisch gesehen besteht kein Unterschied zwischen einem Programm und einem Kommando. Kommandos wurden genau wie Programme “programmiert”. Sie tragen nur den Namen “Kommando”, damit man gleich weiß, dass es Programme sind, die zur Kommandozeile gehören, sie sind fest eingebaut.
Manche dieser Kommandos ähneln sich unter Windows, Linux oder MacOS sehr stark, und manche sind in den Kommandozeilen der verschiedenen Betriebssysteme total unterschiedlich. Dabei ist noch zu erwähnen, dass die Kommandos, die wir in dieser Artikel-Serie verwenden, in Linux und MacOS genau gleich sind. Das hat den Grund, dass Linux und MacOS in ihrem Kern verwandte Betriebssysteme sind.
Unsere eigenen Programme, sowohl das “Hallo Welt!”-Programm, das wir zuerst entwickeln, als auch unser Spiel, werden nicht Kommandos genannt. Diese Programme laufen zwar in die Kommandozeile ab, sind aber kein fester Bestandteil dieser.

In der Kommandozeile navigieren

Schauen wir uns einmal den Windows-Explorer, oder auch jeden anderen Datei-Browser wie Nautilus in Linux mit Gnome, den Konquerer unter Linux mit KDE oder beispielsweise Finder unter MacOS, an. Wir sehen, dass man bei der Benutzung immer an einer bestimmten Stelle, an einem bestimmten Ort “steht”. Man nennt dies das “aktuelle Arbeitsverzeichnis”. Es ist der Ordner, den man sich gerade ansieht, also alle Dateien und Unterverzeichnisse, die sich darin befinden. Durch einen Doppelklick auf einen Unterordner “springt” man dorthin, das aktuelle Arbeitsverzeichnis hat sich geändert und ist nun dieser Unterordner. Und meistens gibt es einen “Zurück”-Knopf, mit dem man zum letzten besuchten Verzeichnis zurückkehren kann. Auf diese Weise kann man zu allen Verzeichnissen auf dem Computer navigieren und mit den Dateien arbeiten.

Und genau so gibt es auch in der Kommandozeile dieses “aktuelle Arbeitsverzeichnis”. Meistens wird es vor dem blinkenden Cursor angezeigt. Man kann es sich aber auch mit einem Programm (einem Kommando) anzeigen lassen.

Windows Unter Windows heißt das Kommando “cd”, für “current directory” (aktuelles Verzeichnis):

cd
Linux, MacOS Unter Linux und MacOS heißt das Kommando “pwd”, für “print working directory” (drucke Arbeitsverzeichnis):

pwd

Genau wie das Kommando “help” schreibt uns “cd” bzw. “pwd” auch etwas in die Kommandozeile, nämlich in welchem Verzeichnis wir uns gerade befinden.
Achtung: Die Verzeichnisse werden unter Windows mit einem rückwärtigen Schrägstrich “\” voneinander getrennt, in Linux und MacOS ist es ein normaler Schrägstrich “/”.

Jetzt kennen wir aber noch nicht den Inhalt dieses aktuellen Arbeitsverzeichnisses. Anders als in einem herkömmlichen Datei-Browser müssen wir es nämlich explizit von dem Kommandozeile anfordern, wenn wir wissen wollen, wie es in dem Verzeichnis aussieht, in dem wir uns gerade befinden. Dafür gibt es ein weiteres Kommando.

Windows Unter Windows heißt das Kommando “dir”, für “directory” (Verzeichnis):

dir
Linux, MacOS Unter Linux und MacOS heißt das Kommando “ls”, für “list” (Auflistung):

ls

Nach Eingabe von “dir” bzw. “ls” erscheinen die Dateien und Unterordner des aktuellen Verzeichnisses.

Windows Was ein Unterverzeichnis und was eine Datei ist, erkennt man in der Windows-Kommandozeile an dem “<DIR>”. Das steht für “directory” (Verzeichnis).
Linux, MacOS Unter Linux/MacOS erkennt man den Unterschied zwischen einer Datei und einem Unterverzeichnis entweder an der Farbe, manchmal sind Verzeichnisse aber auch durch ein “d” (directory) gekennzeichnet.

Das Kommando “dir” bzw. “ls” ist sozusagen unser Auge in der Kommandozeile.

Jetzt müssen wir noch wissen, wie wir das aktuelle Arbeitsverzeichnis in der Kommandozeile ändern, d. h. wie wir zu einem anderen Verzeichnis, z. B. einem Unterordner wechseln können.

Windows Unter Windows benutzt man dazu das selbe Kommando, wie zum Anzeigen des aktuellen Arbeitsverzeichnisses, nämlich “cd”, allerdings mit einer Erweiterung. Und zwar gibt man nach dem “cd” und einem Leerzeichen den Namen eines Unterordners an:

cd Bilder

Dieses Kommando macht nur Sinn, wenn man mit der Kommandozeile an einem aktuellen Arbeitsverzeichnis steht, an dem es auch einen Unterordner “Bilder” gibt. In diesem Fall wird dorthin gewechselt. Falls es keinen Unterordner mit dem Namen “Bilder” geben sollte, wird eine Fehlermeldung ausgegeben und man bleibt am aktuellen Ort stehen. Zur Überprüfung, ob die Navigation geklappt hat, gibt man unter Windows einfach wieder “cd” ein, und lässt sich so das jetzt hoffentlich geänderte Arbeitsverzeichnis ausgeben.

Linux, MacOS Unter Linux und MacOS heißt das Kommando zum wechseln des aktuellen Arbeitsverzeichnisses auch “cd”. Und es funktioniert auch genau so wie unter Windows:

cd Bilder

Um hier allerdings zu überprüfen, ob die Navigation geklappt hat, gibt man unter Linux und MacOS “pwd” ein, und lässt sich mit diesem Kommando das jetzt hoffentlich geänderte Arbeitsverzeichnis ausgeben.

Wir sind gerade in ein Unterverzeichnis “hineingewechselt”. Um wieder ein Verzeichnis zurück zu wechseln, also eine Verzeichnis-Ebene nach oben, kann man sowohl unter Windows, als auch unter Linux und MacOS folgendes Kommando benutzen:

cd ..

Die zwei Zeichen “..” bezeichnen in der Kommando-Zeile allgemein immer das übergeordnete Verzeichnis, egal wo man gerade steht. Wir werden später auch noch mit anderen Kommandos auf “..” stoßen. Jedenfalls müssten wir mit “cd ..” wieder genau da landen, wo wir vorher waren.

Mit diesen gerade gelernten Kommandos kann man genau wie in einem Datei-Browser durch alle Verzeichnisse auf dem Computer navigieren: Wir können in Verzeichnisse hinein- und wieder zurückwechseln und uns an den Orten, wo wir gerade stehen, den Inhalt anzeigen lassen.

Fazit

In diesem Artikel haben wir gelernt, dass eine Kommandozeile eine Umgebung ist, in der man Kommandozeilen-Programme starten und mit ihnen Input und Output austauschen kann. Wir haben zum Ausprobieren das Programm “help” gestartet und Output erhalten.
Wir wissen auch, dass Programme, die direkt mit der Kommandozeile zu tun haben “Kommandos” heißen, und wir haben ein paar dieser Kommandos kennen gelernt, um in der Konsole navigieren zu können.

This entry was posted in Programmieren lernen. Bookmark the permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">