Wichtige und praktische Kommandos
ls (list files)
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 (change directory)
cd
wechselt das aktuelle Verzeichnis.
- Ohne Argument (einfach
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.
mkdir (make directory)
mkdir
legt ein neues Verzeichnis an:
mkdir test
Legt im aktuellen Verzeichnis ein neues Verzeichnistest
an.mkdir -p alles/auf/einmal
Legt verschachtelte Verzeichnisse auf einmal an (anstattmkdir alles
,cd alles
,mkdir auf
,cd auf
,mkdir einaml
,cd ../..
)
rmdir (remove directory)
rmdir
löscht ein leeres Verzeichnis
rmdir test
Löscht das leere Verzeichnis test im aktuellen Verzeichnis. Schlägt fehl und tut nichts, wenn das Verzeichnis nicht leer ist.
pwd (print working directory)
Zeigt das aktuelle Verzeichnis an. Dieses wird normalerweise schon automatisch auf der Kommandozeile angezeigt.
cp (copy)
cp
kopiert Dateien.
cp orignal.txt kopie.txt
kopiert die Dateioriginal.txt
unter neuem Namenkopie.txt
.cp test.txt foo/bar/.
kopiert die Dateitest.txt
unter gleichem Namen in den Ordnerbar
, der sich im Ordnerfoo
befindet.cp *.md backup/.
kopiert alle Dateien, die mit.md
aufhören in den Ordnerbackup
.cp -r meinordner /c/backup/.
kopiert den Ordnermeinordner
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 Ordnerbackup
nicht existierende Dateien werden kopiert. Das eignet sich sehr gut für wiederholte schnelle Backups.
mv (move)
mv
verschiebt Dateien (bzw. benennt diese um).
mv alt neu
benennt die Dateialt
inneu
um.mv datei ordner/.
verschiebt die Dateidatei
in den Ordnerordner
.mv jocker-chain2022*.md backup/.
verschiebt alle Dateien, die mitjocker-chain2022
beginnen und mit.md
aufhören in den Ordnerbackup
.mv ordner1 ordner2/.
verschiebt den Ordnerordner1
mitsam allem Inhalt in den Ordnerordner2
.
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.
Wildcards
Wo immer ein oder mehrere Dateinamen angegeben werden können, können diese mit einem Muster beschrieben werden.
Dabei stehen
*
für beliebige, beliebig viele Zeichen (auch keines). Typische Beispiele:*.txt
Alle Dateien, die die Endung.txt
haben.IMG_3*.jpg
Alle Dateien, die mitIMG_3
beginnen und mit.jpg
enden. Z.B.IMG_3.jpg
,IMG_3210.jpg
?
für genau ein belibiges Zeichen. Typische Beispiele:hallo0?.txt
passt z.B. aufhallo00.txt
,hallo0z.txt
aber nicht aufhallo007.txt
oderhallo0.txt
[a-z]
steht für genau ein Kleinbuchstabe a-z.[3-6]
steht für genau eine Ziffer 3 bis und mit 6.{jpg,png,gif}
steht für genau eines der aufgeführten Wörter. Typishces Beispiel:*.{jpg,jpeg,png,gif}
Alle Dateien die mit eine der aufgeführten Endungen haben.
- Laden Sie folgendes zip-Archiv herunter wildcards.zip und speichern Sie es in
C:\ofi
. - Navigieren Sie mit dem
cd
Kommando dorthin und überprüfen Sie mit demls
Kommando, ob die zip-Datei auch dort liegt.
cd /c/ofi ls
- Entpacken Sie das Archiv mit
unzip wildcards.zip
- Wechseln Sie (mit
cd
ins Verzeichniswildcards
und verschieben (mv
) Sie die Dateien wie folgt:- Alle .jpg-Dateien von 2022 in ein Unterverzeichnis 2022 (mit
mkdir 2022
anlegen!) - Alle .jpg-Dateien von 2023 in ein Unterverzeichnis 2023
- Alle Logos, die «
ganz-fertig
» sind, in ein Unterverzeichnislogos-ganz-fertig
. - Alle anderen Logos in ein Unterverzeichnis
logos-archiv
.
- Überprüfen Sie am Schluss, ob Sie alles richtig gemacht haben, indem sie die Datei
verifier.bash
starten:
bash verifier.bash
- Studieren Sie den Code in
verifier.bash
mit folgender Erklärung:echo
gibt alles was folgt auf die Konsole aus (z.B. zur Information).ls -R
gibt alle Dateien und Verzeichnisse rekursiv aus (d.h. auch den Inhalt der Unterverzeichnisse etc.).|
nimmt die Ausgabe der Kommandozeile davor und nutzt diese als Eingabe für die nächste Kommandozeile.diff
vergleicht den Inhalt zweier Dateien zeilenweise und gibt die Unterschiede aus. Wird eine Datei als-
angegeben, wird mit der Eingabe (d.h. hier mit der Ausgabe vonls -R
) anstatt einer Datei gearbeitet.
Diese Aufgabe gibt es als Screencast vorgelöst: weltöffentlich und anonym oder auf dem kantonalen Sharepoint