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:
alias
oder man speichert die Kommandozeile gleich in eine Datei).*
, ?
, etc.bash
(die Kommandozeile, die wir einsetzen) und die gängigsten Kommandos haben sich in den letzten 30 Jahren kaum verändert und werden es auch in Zukunft nicht tun.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./
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
ls
zeigt die Dateien im aktuellen Verzeichnis an. Nützliche Optionen:
ls -a
alle Dateien anzeigen (auch versteckte)ls -l
Zusätzliche Informationen anzeigen.ls -ltr
Dateien nach Datum (-t) in umgekehrter Reihenfolge (-r) anzeigen. So wird die neueste Datei zuunterst angezeigt.ls -lhSr
Dateien nach Grösse (-S) in umgekehrter Reihenfolgen (-r) in «human readable format» (-h) anzeigen. Damit erscheinen die grössten Dateien zuunterst (praktisch zum Aufräumen).
cd
wechselt das aktuelle Verzeichnis.
cd
alleine) wechselt ins Home-Verzeichnis, unter Windows typischerweise /c/Users/benutzername/
, unter Linux/MacOS /home/benutzername
.cd ..
wechselt ins Elternverzeichnis (eine Ebene zurück).cd informatik/jokerchain
wechselt zwei Verzeichnisse auf einmal.Zeigt das aktuelle Verzeichnis an. Dieses wird normalerweise schon automatisch auf der Kommandozeile angezeigt.
python
started den interativen Python-Interpreterpython hello.py
startet das Pythonprogramm, dass in der Datei hello.py
im aktuellen Verzeichnis gespeichert ist.
cp
kopiert Dateien.
cp orignal.txt kopie.txt
kopiert die Datei original.txt
unter neuem Namen kopie.txt
.cp test.txt foo/bar/.
kopiert die Datei test.txt
unter gleichem Namen in den Ordner bar
, der sich im Ordner foo
befindet.cp *.md backup/.
kopiert alle Dateien, die mit .md
aufhören in den Ordner backup
.cp -r meinordner /c/backup/.
kopiert den Ordner meinordner
rekursiv (d.h. mit allen Dateien und Ordnern, die darin sind) in den Ordner /c/backup
cp -vrau meinordner /c/backup/.
zeigt den Vorgang an (-v für verbose), (-r) rekursiv, (-a) archiv (d.h. die Zieldatei erhält die gleichen Attribute, wie die Quelldatei. Insbesondere werden die Datumsangaben übernommen), -u für update, d.h. nur neuere bzw. im Ordner backup
nicht existierende Dateien werden kopiert. Das eignet sich sehr gut für wiederholte schnelle Backups.
mv
verschiebt Dateien (bzw. benennt diese um).
mv alt neu
benennt die Datei alt
in neu
um.mv datei ordner/.
verschiebt die Datei datei
in den Ordner ordner
.mv jocker-chain2022*.md backup/.
verschiebt alle Dateien, die mit jocker-chain2022
beginnen und mit .md
aufhören in den Ordner backup
.mv ordner1 ordner2/.
verschiebt den Ordner ordner1
mitsam allem Inhalt in den Ordner ordner2
.
rm
löscht Dateien. Mit Vorsicht zu gebrauchen. Die Dateien werden dabei nicht in den Papierkorb verschoben, d.h. die Löschung ist unwiderruflich.
code
startet Visual Studio Code, zum Editieren von Text-Dateien und speziell zum Programmieren.
code .
öffnet das aktuelle Verzeichnis (.
) zum Bearbeiten der Dateien.code hello.py
öffnet die Datei hello.py
zum Editieren. Falls die Datei nicht existiert, wird sie dann unter diesem Namen gespeichert.
Um Tipp-Arbeit zu sparen, können Sie das cd
-Kommando zum Wechseln ins Informatik-Verzeichnis auch abspeichern. Gehen Sie dafür wie folgt vor:
cd
ins gewünschte Verzeichnis.pwd
ein und kopieren Sie den gesamten (absoluten) Pfad.code ~/.bashrc
um die Konfig-Datei in Ihrem Home-Verzeichnis zu editieren.alias cdinfo='cd "hier die komplette Pfadangabe von oben einfügen"'
cdinfo
Laden Sie folgendes Archiv herunter und entpacken sie dieses adventurequest.zip. Achtung, es reicht nicht, sich den Inhalt des Archivs im Dateimanager anzusehen.
Öffnen Sie dann die git-bash
und navigieren Sie mit 'cd' in den Ordner adventurequest
. Starten Sie dort das Python-Script guide.py
wie folgt:
python guide.py
und versuchen Sie die gestellte Aufgaben zu lösen. Schauen Sie sich ruhig um mit ls
, cd ordnername
und cd ..
um wieder zurück zu gelangen.