lehrkraefte:blc:informatik:ffprg1-2023:files-directories-commandline

Kommandozeile

Wir lernen hier bash, was die wohl am weitesten verbreitete Shell im Unix-Umfeld ist. Insbesondere auch auf unserem Webserver. Die meisten Kommandos funktionieren so auch in der Windows Power-Shell.

  • Universell, «zeitlos», präzise und effizient
  • Schärft das Verständnis und Selbstvertrauen im Umgang in der digitalen Welt
  • Sieht aus wie Hacker in einer Filmszene (naja, je nach Qualität des Films…)

Die Struktur ist folgende:

command arg1 arg2 arg3

wobei

  • command der Name eines Befehls (z.B. cd) oder Programms ist (wie z.B. python oder ls).
  • arg1 etc. die Argumente sind. Je nach Befehl können unterschiedlich viele (oder auch keine) Argumente angegeben werden.
    • Typischerweise sind Argumente Datei- oder Ordnernamen oder zusätzliche Optionen
  • Der Befehl, bzw. Programm werden im aktuellen Verzeichnis (working directory) ausgeführt. Alle Datei- und Verzeichnisangaben, die nicht mit / beginnen, beziehen sich auf das aktuelle Verzeichnis.

Beispiele:

cd jokerchain
python jokerchain.py -d 2042-03-14

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

Zeigt Dateien im aktuellen Verzeichnis an. Führe ich automatisch nach jedem Befehl cd aus.

  • ls -a Alle Dateien (auch versteckte) anzeigen
  • ls -l Mehr Infos zu Dateien anzeigen
  • ls -ltrh Mehr Infos (-l), Nach Datum geordnet (-t), umgekehrt geordnet (-r), Dateigrösse humand readable (-h)

Zeigt den absoluten Pfad des aktuellen Verzeichnisses an.

Mit der Tabulator-Taste (ganz links, oberhalb von Caps-Lock) können Datei-, Verzeichnisnamen und Kommandonamen vervollständigt werden. Das ist nicht nur viel schneller, sondern garantiert auch, dass man keine einfachen Tippfehler macht.

Die Vervollständigung wird so weit eingefügt, wie eindeutig. Drückt man abermals die Tabulator-Taste, werden alle verbleibenden Möglichkeiten angezeigt. Dann können weiter Buchstaben eingegeben werden, und die Tabulator-Taste wieder gedrückt werden.

Wechselt das Verzeichnis

  • cd Wechselt ins Home-Verzeichnis (gleicher Effekt wie cd ~, wobei ~ für das Home-Verzeichnis steht.
  • cd pfad wechselt ins angegebene Verzeichnis
  • cd .. wechselt ins übergeordnete Verzeichnist (.. ist ein spezielles Verzeichnis, das auf das übergeordnete Verzeichnis verweist. Das Verzeichnis . verweist auf «sich selbst»).

Leerschläge trennen einzelne Kommandozeilenargumente. Enthalten Datei- oder Verzeichnisnamen Leerschläge, müssen die «geschützt» werden. Entweder durch voranstellen eines Backslash \ oder man schreibt den ganzen Dateinamen in Anführungszeichen (einfache oder doppelte).

Meine Empfehlung: Für Dateinamen verwende man nur Buchstaben a-z, Ziffern 0-9, und Minus und Bodenstrich. Dann gibt es auf wohl keinem System Probleme. Grossschreibung vermeide ich deswegen, weil Windows nicht zwischen Gross- und Kleinschreibung unterscheidet. Das führt spätestens dann zu Problemen, wenn man eine Datei a.txt und A.txt hat, die Windows dann als eine einzige Datei betrachtet und z.B. beim Kopieren die erste mit der zweiten überschreibt.

mkdir legt Verzeichnisse an.

  • mkdir name Legt im aktuellen Verzeichnis ein neues Verzeichnis mit Name name an.
  • mkdir -p foo/bar/baz Legt gleich mehrere verschachtelte Verzeichnisse an.

Löscht leere Verzeichnisse.

  • rmdir name Löscht das Verzeichnis name

Startet Visual Code, am nützlichsten sind folgende Varianten:

  • code . Öffnet den aktuellen Ordner
  • code datei Öffnet die angegebene Datei
  • lehrkraefte/blc/informatik/ffprg1-2023/files-directories-commandline.txt
  • Last modified: 2023/02/01 08:53
  • by Ivo Blöchliger