Table of Contents

Kommandozeile (bash)

Auf der Kommandozeile (auch Terminal oder Konsole genannt), können Programme gestartet, im Dateisystem navigiert, Dateien manipuliert werden (kopieren, umbenennen, verschieben) und eigentlich alles gemacht werden, was auf einem Computer gemacht werden kann.

Das mag auf den ersten Blick kompliziert erscheinen, hat aber auch verschiedene Vorteile:

Grundlegende Struktur eines Kommandos

Die Struktur ist folgende:

command arg1 arg2 arg3

wobei

Beispiele:

cd /c/ofi/
unzip adventurequest.zip
python guide.py

Kommandozeilenargumente werden durch Leerschläge getrennt. Das ist ein Problem, wenn Dateinamen Leerschläge enthalten. Diese müssen dann entweder durch Backslashes geschützt oder der ganze Dateinamen zwischen Anführungszeichen (doppelte oder einfache) geschrieben werden. Z.B.

cd "OneDrive - xyz Blabla"
cd OneDrive\ -\ xyz\ Blabla

Die Tabulatortaste kann zur Ergänzung benutzt werden, wandelt dabei aber immer in die zweite Version mit Backslashes um

Auswahl einiger Befehle und Programme

ls (list files)

ls zeigt die Dateien im aktuellen Verzeichnis an. Nützliche Optionen:

cd (change directory)

cd wechselt das aktuelle Verzeichnis.

mkdir (make directory)

mkdir legt ein neues Verzeichnis an:

rmdir (remove directory)

rmdir löscht ein leeres Verzeichnis

pwd (print working directory)

Zeigt das aktuelle Verzeichnis an. Dieses wird normalerweise schon automatisch auf der Kommandozeile angezeigt.

python

cp (copy)

cp kopiert Dateien.

mv (move)

mv verschiebt Dateien (bzw. benennt diese um).

rm (remove)

rm löscht Dateien. Mit Vorsicht zu gebrauchen. Die Dateien werden dabei nicht in den Papierkorb verschoben, d.h. die Löschung ist unwiderruflich.

notepad (Text-Editor)

Normalerweise startet notepad den Windows Text-Editor der aber sehr limitiert ist. Wir haben ein alias definiert, damit mit diesem Befehl notepad++ gestartet wird.

Damit können auch gleich Dateien geöffnet werden, indem diese auf der Kommandozeile als Argumente angegeben werden. Z.B.

alias

Der Befehl alias bietet sich an, um eigene Kommandos zusammenzustellen.

Fügen Sie das obige ofi-Alias der Datei ~/.bashrc hinzu mit folgendem Kommando:

  • notepad ~/.bashrc
  • Speichern Sie die Datei und schliessen Sie notepad
  • Mit source ~/.bashrc laden Sie die neue Datei. Das alias ofi sollte jetzt definiert und einsatzbereit sein.

Adventure auf der bash Kommandozeile

  • Speichern Sie folgende Archiv in C:\ofi\ (mit Link speichern unter)adventurequest.zip.
  • Öffnen Sie git-bash und navigieren Sie in dieses Verzeichnis mit cd /c/ofi
  • Überprüfen mit dem Kommando ls, ob die zip-Datei auch dort liegt.
  • Entpacken Sie das zip-Archiv mit unzip adventurequest.zip
  • Überprüfen Sie wieder mit ls, ob auch ein neues Verzeichnis entstanden ist.
  • Wechseln Sie ins neue Verzeichnis mit cd adventurequest Tab Enter.
  • Starten Sie den Guide mit python guide.py

Versuchen Sie die gestellten Aufgaben zu lösen. Schauen Sie sich ruhig um mit ls, cd ordnername und cd .. um wieder zurück zu gelangen.

Hinweis: Die letzte Aufgabe (alle Bibliotheken ausrüsten) ist sehr anspruchsvoll.

Hilfe

Hilfe

Folgendes Script ruft den Befehl echo (einfach ausgeben, was danach folgt) für jedes Verzeichnis auf:

for verzeichnis in */; do echo "Etwas mit $verzeichnis machen"; done
  • Ändern Sie erst einmal das Suchmuster */ so ab, dass nur alle relevanten Verzeichnisse durchlaufen werden.
  • Ändern Sie dann das, was echo ausgibt so ab, dass echo das gewünschte Kommando ausgibt.
  • Ersetzen Sie dann echo durch das Kommando.