Springe zum Hauptinhalt
Grundlagen der Informatik I & II und Informatik I & II
Konsole, HalloWelt! & Co
Konsole, Hallo Welt! & Co

Konsolenbefehle zur Dateiverwaltung

Zunächst ein paar wichtige Hinweise:

  • benutzen Sie keine Umlaute und Leerzeichen bei der Benennung von Dateien und Ordnern
  • es wird zwischen Groß- und Kleinschreibung unterschieden
  • Linux erstellt und löscht ohne "sind-sie-sicher?"-Abfrage
  • Um Informationen über Befehle zu erhalten, nutzen Sie die Konsole wie folgt: "info <Befehlsname>"
  • Um Hilfe für Befehle zu erhalten, nutzen Sie diesen Befehl: "<Befehlsname> --help" oder "<Befehlsname> --h"

Befehl Bedeutung Erklärung Beispiel
pwd print working directory gibt das aktuelle Verzeichnis aus
ls list listet alle Dateien/Ordner aus aktuellem Verzeichnis
cd <Verzeichnisname> change directory wechselt in das angegebene Verzeichnis cd Desktop
cd .. change directory wechselt in das übergeordnete Verzeichnis cd ..
mkdir <Ordnername> make directory legt einen neuen Ordner mit diesem Namen im aktuellen Verzeichnis mkdir informatik
touch <Dateiname> touch legt eine neue Datei mit diesem Namen im aktuellen Verzeichnis touch hallowelt.cpp
rm <Dateiname> remove löscht die Datei mit diesem Namen im aktuellen Verzeichnis rm test.cpp
rmdir <Ordnername> remove löscht den Ordner mit diesem Namen im aktuellen Verzeichnis rmdir testordner
<Programmname> <Dateiname> öffnet die Datei mit diesem Namen im gewünschten Programm kate hallowelt.cpp

Dateizugriff auch von zu Hause

Wer seine Programme im AFS-Homeverzeichnis des URZ ablegen möchte, kann sich mit dieser Anleitung Zugriff über die Konsole verschaffen oder einen verlinkten Ordner im Dateimanager anlegen.

Programme compilieren und ausführen

Der Compiler übersetzt ein Programm in Maschinensprache. Wir nutzen für C++ den g++ Compiler. Der Befehl "g++ hallowelt.cpp" übersetzt das Programm hallowelt.cpp. Dabei stehen weitere Optionen zur Verfügung. Die wichtigsten Optionen im Kontext unseres Praktikums finden Sie in folgender Tabelle:

Option Wirkung
-o <Programmname> benennt das entstehende Programm wie angegeben
-Wall listet alle Warnungen auf
-ansi erlaubt ausschlißlich ANSI C++ konforme Konstukte

Der Terminalbefehl zum Übersetzten eines HalloWelt-Programms lautet also

g++ hallowelt.cpp -o hallowelt

Oder mit allen obigen Optionen: g++ -o hallowelt -Wall -ansi hallowelt.cpp

Hinweise:

  • Der Befehl für das Ausführen eines Programms lautet: "./<Programmname>".
  • Beispiel: "./hallowelt"
  • Die Eingabe eines Befehls lässt sich mit "tab" vervollständigen.
  • Eingegebene Befehle können mit den Pfeiltasten "oben" und "unten" wiederverwendet werden.

Vorlage für C++ Programm


#include <iostream>
using namespace std;

int main (void)
{
       cout << "Hallo Welt";
       return 0;
}

Vokabeln aus der Welt der Programmierung


Begriff Beschreibung
Compiler Computerprogramm, das ein anderes Programm, das in einer bestimmten Programmiersprache geschrieben ist, in eine Form übersetzt, die von einem Computer ausgeführt werden kann.
Datentyp Kennzeichnung des Wertebereichs einer Variable
definieren Zuweisen von Speicherplatz an eine Variable
deklarieren Namen einer Variable den Compiler bekannt geben
Funktionen dienen der Programmstrukturierung und Wiederverwendbarkeit von Quellcode
initialisieren Zuweisen eines Anfangswertes an eine Variable
Lexik Die Lexik einer Programmiersprache definiert die gültigen Zeichen bzw. Wörter, aus denen Programme der Programmiersprache zusammengesetzt sein dürfen.
main() - Funktion Hauptfunktion eines C++-Programms, die immer als erstes ausgeführt wird
Modulo-Operator % - Berechnet den Rest einer Ganzzahldivision
Operator Verknüpft Operanden wie in der Mathematik; Beispiele für Operatoren: + - * / & << >>
Schlüsselwort Wort einer Lexik
Semantik Sinn, Inhalt oder Logik eines Programms
Syntax Grammatik einer Programmiersprache
Variable Behältnis für die Werte einer Größe im Programmverlauf

Hier gibts ein ausführliches Tutorial zur Arbeit mit der Konsole.


Hallo Welt!

Die Konsole


Start

Die Konsole befindet sich im Menü unter dem Stichwort System. Da wir sie öfter benötigen, kann sie per Drag&Drop im Schnellzugriff positioniert werden.

Wo finde ich die Konsole?

Die Konsole nimmt Befehle entgegen und führt diese aus. Befindet sich der Cursor wie in der folgenden Abbildung hinter der roten Schrift, ist die Konsole bereit, einen Befehl zu bearbeiten. Andernfalls muss eine weitere Konsole geöffnet werden.

leere Konsole

Zunächst 2 wichtige Hinweise:

  • benutze keine Umlaute und Leerzeichen bei der Benennung von Dateien und Ordnern
  • es wird zwischen Groß- und Kleinschreibung unterschieden

Erste Befehle

Um den Umgang mit der Konsole kennenzulernen, wollen wir als Erstes einen Ordner erstellen, in dem alle Programme gespeichert werden, die wir hier erstellen. Der erste Befehl lautet ls. Er bedeutet list und bewirkt, dass Objekte, die sich in einem Ordner befinden, aufgelistet werden. Um in einen untergeordneten Ordner zu wechseln, benutzen wir den Befehl cd und nennen den Namen des Ordners, in den gewechselt werden soll. Wie Sie sehen, befindet sich in der Aufzählung ein Ordner Schreibtisch. Wir gelangen also mit dem Befehl cd Schreibtisch in diesen Ordner.

cd Schreibtisch

Hier erstellen wir nun den neuen Ordner als Speicherort für unsere Programme. Der Befehl lautet mkdir (make directory). Der neue Ordner soll "infokurs" heißen. Nach dem Erstellen des Ordners wechseln wir in den Ordner. Der Prompt, der nun in der Konsole steht, besteht nun aus Ihrem Nutzernamen, einem @, dem Namen des Rechners gefolgt vom aktuellen Pfad.

mkdir infokurs


Hallo Welt!

Als erstes Programm wollen wir uns "Hallo Welt!" ansehen. Zum Speichern des Quellcodes legen wir eine neue Datei an. Der Befehl dazu heißt touch. Er benötigt als Argument den Namen der neuen Datei. Dabei ist es wichtig, unbedingt die Dateiendung mit anzugeben. Für C++-Programme lautet sie ".cpp". Der vollständige Befehl zum Anlegen der neuen Datei lautet also touch hallowelt.cpp. Zum Bearbeiten der Datei kann je nach Belieben vom einfachen Texteditor bis zur Entwicklungsumgebung alles benutzt werden. Zum Starten des Programms schreibt man einfach dessen Namen in die Konsole. Ergänzen wir den Namen einer Datei, wird diese im Programm geöffnet. Für den Einstieg wollen wir hier kate benutzen: kate hallowelt.cpp. Kopieren Sie nun folgenden Quelltext in die geöffnete Datei:

#include <iostream>
using namespace std;

int main (void)
{
       cout << "Hallo Welt";
       return 0;
}
hallo welt in C++

Zeile 1 importiert mit dem Befehl include die Bibliothek "iostream" in unser Programm. Sie ermöglicht es uns, auf einfache Weise Mitteilungen an die Nutzer unserer Programme auszugeben und Eingaben der Nutzer entgegenzunehmen. Zeile 2 sagt, dass wir den Standardnamensraum dieser Bibliothek benutzen wollen.

Danach beginnt die Main-Funktion. Sie kommt in jedem Programm genau einmal vor. Was eine Funktion ist und wozu sie dient, erfahren Sie später im entsprechenden Kapitel. Die geschweiften Klammern fassen alle Anweisungen zusammen, die zur Funktion gehören.

Die erste der beiden Anweisungen in Zeile 6 gibt die Zeichenkette "Hallo Welt!" auf die Standardausgabe, die Konsole, aus. Die Anweisung besteht aus dem Befehl cout, dem Ausgabeoperator <<, der Zeichenkette und einem Semikolon. Die Funktionalität der Ausgabe wurde mit der Bibliothek importiert. Der Name des Befehls stammt aus dem Standardnamensraum. Die zweite Anweisung beendet die Main-Funktion (Genaueres im Kapitel Funktionen). Anweisungen werden immer mit einem Semikolon beendet und stehen einzeln auf einer Zeile.

Der Compiler

Speichere nun das Programm. Wir haben jetzt also ein fertiges Programm geschrieben in der Programmiersprache C++. Da der Computer aber nur die Maschinensprache aus 1 und 0 verarbeiten kann, müssen wir unser Programm übersetzten. Mit dieser Arbeit beauftragen wir einen Compiler. Wir nutzen für C++ den Compiler g++. Der Befehl "g++ hallowelt.cpp" übersetzt das Programm hallowelt.cpp. Dabei stehen weitere Optionen zur Verfügung. Die wichtigsten Optionen im Kontext unseres Praktikums finden Sie in folgender Tabelle:

Option Wirkung
-o <Programmname> benennt das entstehende Programm wie angegeben
-Wall listet alle Warnungen auf
-ansi erlaubt ausschließlich ANSI C++ konforme Konstrukte
Beim Übersetzten speichert der Compiler das entstehende Programm in eine neue, ausführbare Datei mit dem Namen "a.out". Sie wird bei jedem erneuten übersetzten überschrieben, d. h. auch wenn wir ein zweites Programm in C++ schreiben. Damit wir unsere ausführbaren Dateien alle behalten, müssen sie mit einem eigenen passendem Namen erstellt werden. Wir erweitern den Befehl zum Übersetzten um die Option "-o" und geben als Argument den Namen an: g++ hallowelt.cpp -o hallowelt. Der Befehl ls zeigt nun das Programm hallowelt.cpp und die beiden identischen ausführbaren Dateien a.out und hallowelt im Ordner an.

neue Datei a.out

Nun wollen wir unser Programm in der ausführbaren Datei starten. Um Programme zu starten, genügt es einfach den Namen in die Konsole zu tippen und mit Enter zu bestätigen.

Wichtig ist dabei, dass das Programm im Pfad liegt. Im was? Im Pfad, auch PATH genannt. Es gibt eine Umgebungsvariable, in der bestimmte Ordner stehen. Wenn man jetzt einen Programmnamen eingibt, sucht die Shell automatisch in diesen Ordnern und führt das Programm aus, wenn es vorhanden ist.

Wenn ein Programm nicht im Pfad zu finden ist, dann startet es auch nicht. Solche Programme startet man zumeist, indem die Startdatei per Hand ausgeführt wird. Man bewegt sich also wie oben beschrieben mit cd in das Verzeichnis, in dem die Datei gespeichert ist, und startet diese dann mit "./Programmname"../hallowelt startet unser Programm.

Wie der Screenshot zeigt, wird die Zeichenkette "Hallo Welt!" auf den Bildschirm ausgegeben. Direkt danach beginnt die neue Kommandozeile. Schöner wäre es, wenn die neue Kommandozeile in der nächsten Zeile beginnt. Was uns fehlt, ist also ein Zeilenumbruch. Den erzeugen wir, indem die Anweisung zur Ausgabe um einen weiteren Ausgabeoperator und den Befehl "endl" erweitert wird: cout << "Hallo Welt" << endl;. Das Programm muss nun erneut gespeichert werden. Führen wir nun das Programm erneut aus, sehen wir keine Änderung. Warum? Angepasst haben wir das Programm in der hallowelt.cpp, ausgeführt aber das Programm in hallowelt. Wir müssen unser C++-Programm also erst erneut übersetzten!

Programm starten

Tipps für den einfacheren Umgang mit der Konsole:

  • Befehle, die schon einmal in die Konsole eingegeben wurden, lassen sich mit den Pfeiltasten (oben und unten) wiederholen
  • Befehle, Ordner- und Dateinamen lassen sich mit der Tabulatortaste automatisch vervollständigen