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;
}
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.
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.
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.
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.
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.
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.
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.
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;
}
#include <iostream>
using namespace std;
int main (void)
{
cout << "Hallo Welt";
return 0;
}
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.
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.
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.
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!
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