Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

4.4 Dateiverwaltung

Humboldt-Universität zu Berlin, Institut für Bibliotheks- und Informationswissenschaft

In diesem Kapitel lernen Sie, wie Sie Verzeichnisse erstellen, Dateien kopieren, verschieben und löschen – alles über das Terminal.

Verzeichnisse erstellen (mkdir)

Mit mkdir erstellen Sie neue Verzeichnisse:

$ mkdir python-projekt
$ ls
python-projekt

Mehrere Verzeichnisse auf einmal

$ mkdir projekt1 projekt2 projekt3
$ ls
projekt1  projekt2  projekt3

Verschachtelte Verzeichnisse

Mit der Option -p (parents) erstellen Sie auch alle übergeordneten Verzeichnisse:

$ mkdir -p projekte/python/bibliothek-tools
$ ls projekte/python/
bibliothek-tools

Ohne -p würde dieser Befehl fehlschlagen, wenn projekte/ oder projekte/python/ noch nicht existieren.

Leere Dateien erstellen (touch)

Der Befehl touch erstellt eine leere Datei (oder aktualisiert den Zeitstempel einer existierenden Datei):

$ touch README.md
$ ls
README.md

Das ist praktisch, um schnell Platzhalter-Dateien zu erstellen:

$ touch main.py data.csv requirements.txt
$ ls
data.csv  main.py  README.md  requirements.txt

Dateien kopieren (cp)

Mit cp (copy) kopieren Sie Dateien:

$ cp quelle.txt ziel.txt

Datei in ein Verzeichnis kopieren

$ cp main.py backup/

Kopiert main.py in das Verzeichnis backup/ (Dateiname bleibt gleich).

Mehrere Dateien kopieren

$ cp datei1.txt datei2.txt datei3.txt zielverzeichnis/

Das letzte Argument muss ein Verzeichnis sein.

Verzeichnisse kopieren

Für Verzeichnisse benötigen Sie die Option -r (recursive):

$ cp -r projekt/ projekt-backup/

Kopiert das gesamte Verzeichnis projekt/ mit allem Inhalt nach projekt-backup/.

Dateien und Verzeichnisse verschieben/umbenennen (mv)

Mit mv (move) verschieben Sie Dateien oder benennen sie um:

Datei umbenennen

$ mv alter-name.txt neuer-name.txt

Datei verschieben

$ mv datei.txt anderes-verzeichnis/

Mehrere Dateien verschieben

$ mv datei1.txt datei2.txt zielverzeichnis/

Verzeichnis umbenennen

$ mv altes-verzeichnis neues-verzeichnis

Im Gegensatz zu cp benötigt mv keine -r Option für Verzeichnisse.

Dateien und Verzeichnisse löschen (rm, rmdir)

Dateien löschen (rm)

$ rm datei.txt

Mehrere Dateien:

$ rm datei1.txt datei2.txt datei3.txt

Mit Sicherheitsabfrage:

$ rm -i wichtige-datei.txt
rm: remove regular file 'wichtige-datei.txt'? y

Leere Verzeichnisse löschen (rmdir)

$ rmdir leeres-verzeichnis

Funktioniert nur bei leeren Verzeichnissen!

Verzeichnisse mit Inhalt löschen (rm -r)

Mit der Option -r (recursive) löschen Sie Verzeichnisse mit ihrem gesamten Inhalt:

$ rm -r verzeichnis/

Kombination mit -i für Sicherheit:

$ rm -ri verzeichnis/

Für erzwungenes Löschen ohne Nachfrage (Vorsicht!):

$ rm -rf verzeichnis/

Dateiinhalte anzeigen

Komplette Datei anzeigen (cat)

$ cat README.md
# Mein Python-Projekt

Dies ist ein Beispielprojekt.

Mehrere Dateien:

$ cat datei1.txt datei2.txt

Seitenweise anzeigen (less)

Für längere Dateien ist less besser geeignet:

$ less lange-datei.txt

Navigation in less:

Anfang einer Datei (head)

$ head datei.txt

Zeigt die ersten 10 Zeilen. Für eine andere Anzahl:

$ head -n 5 datei.txt

Zeigt die ersten 5 Zeilen.

Ende einer Datei (tail)

$ tail datei.txt

Zeigt die letzten 10 Zeilen. Praktisch für Log-Dateien:

$ tail -n 20 logfile.log

Zeigt die letzten 20 Zeilen.

Live-Anzeige (folgt neuen Zeilen):

$ tail -f logfile.log

Nützlich, um Log-Dateien in Echtzeit zu beobachten. Beenden mit Strg+C.

Praktisches Beispiel: Projektstruktur erstellen

Erstellen Sie eine typische Python-Projektstruktur:

$ mkdir -p python-projekt/{src,tests,docs,data}
$ cd python-projekt
$ touch README.md requirements.txt
$ touch src/main.py src/utils.py
$ touch tests/test_main.py
$ touch docs/anleitung.md
$ ls -R
.:
data  docs  README.md  requirements.txt  src  tests

./data:

./docs:
anleitung.md

./src:
main.py  utils.py

./tests:
test_main.py

Zusammenfassung der Befehle

BefehlBedeutungBeispiel
mkdirVerzeichnis erstellenmkdir projekte
mkdir -pVerschachtelte Verzeichnissemkdir -p a/b/c
touchLeere Datei erstellentouch datei.txt
cpDatei kopierencp a.txt b.txt
cp -rVerzeichnis kopierencp -r dir1 dir2
mvVerschieben/Umbenennenmv alt.txt neu.txt
rmDatei löschenrm datei.txt
rm -rVerzeichnis löschenrm -r verzeichnis
rmdirLeeres Verzeichnis löschenrmdir leer
catDatei anzeigencat datei.txt
lessSeitenweise anzeigenless datei.txt
headAnfang anzeigenhead datei.txt
tailEnde anzeigentail datei.txt