Einführung
Willkommen zum Lab "Grundlegende Dateioperationen in Linux"! In Linux wird fast alles als Datei behandelt, weshalb der Umgang mit Dateien eine der wichtigsten Grundlagen für die Systemnutzung ist. Dieses Lab führt Sie durch die gängigsten Befehle zur Verwaltung von Dateien und Verzeichnissen. So lernen Sie, wie Sie sich effizient in Ihrem Linux-System bewegen und es organisieren.
Die Arbeitsumgebung verstehen
In Linux besitzt jeder Benutzer normalerweise ein "Home-Verzeichnis", das durch das Tilde-Symbol ~ abgekürzt wird. In dieser Lab-Umgebung starten wir jedoch im Verzeichnis /home/labex/project, welches unser Standard-Arbeitsverzeichnis ist.
Öffnen Sie bitte zuerst ein Terminal auf dem Desktop ODER wechseln Sie zum Terminal-Tab in der Lab-Umgebung.

Lassen Sie uns zunächst herausfinden, wo wir uns gerade befinden:
pwd
pwd steht für "print working directory" (Arbeitsverzeichnis ausgeben). Es zeigt Ihren aktuellen Standort im Dateisystem an. Dieser Befehl ist unerlässlich, um sich in der Linux-Dateistruktur zu orientieren. Als Ausgabe sollten Sie /home/labex/project sehen.
Untersuchen wir nun die Beziehung zwischen dem aktuellen Verzeichnis und dem Home-Verzeichnis:
echo ~
Hinweis: Falls Sie das
~-Symbol im Desktop-Terminal aufgrund von Tastaturlayout-Unterschieden nicht tippen können, versuchen Sie, in den eigenständigen Terminal-Tab in der oberen linken Ecke der VM-Oberfläche zu wechseln.
Dieser Befehl zeigt den Pfad zu Ihrem Home-Verzeichnis an, der /home/labex lauten sollte.
Um den Inhalt Ihres aktuellen Verzeichnisses zu sehen, verwenden Sie:
ls
Dies listet die Dateien und Verzeichnisse in Ihrem aktuellen Arbeitsverzeichnis (/home/labex/project) auf.
Prüfen wir auch den Inhalt Ihres Home-Verzeichnisses:
ls ~
Dieser Befehl listet den Inhalt Ihres Home-Verzeichnisses auf, der sich von Ihrem aktuellen Arbeitsverzeichnis unterscheiden kann.
Den Unterschied zwischen dem aktuellen Arbeitsverzeichnis und dem Home-Verzeichnis zu verstehen, ist wichtig, um effektiv im Linux-Dateisystem zu navigieren.
Navigieren im Dateisystem
Linux verwendet ein sogenanntes "hierarchisches Dateisystem". Stellen Sie es sich wie einen großen Baum mit Ästen vor. Der Hauptstamm wird "Wurzelverzeichnis" (root directory) genannt und durch einen einfachen Schrägstrich / dargestellt. Alle anderen Verzeichnisse und Dateien zweigen von dieser Wurzel ab.
Lassen Sie uns erkunden, wie man sich in dieser Baumstruktur bewegt:
- Überprüfen Sie Ihren aktuellen Standort:
pwd
Dies sollte /home/labex/project anzeigen. Falls nicht, befinden Sie sich möglicherweise in einem anderen Verzeichnis. Nutzen Sie cd /home/labex/project, um zum Ausgangspunkt zurückzukehren.
- Lassen Sie sich den Inhalt des aktuellen Verzeichnisses anzeigen:
ls
Dies listet alle Dateien und Ordner an Ihrem aktuellen Standort auf. Da /home/labex/project noch leer ist, wird nichts angezeigt.
- Eine Ebene nach oben in das übergeordnete Verzeichnis wechseln:
cd ..
Die zwei Punkte .. stehen für "das Verzeichnis darüber". Führen Sie danach erneut pwd aus. Sie sollten sich nun in /home/labex befinden.
- Zurück in Ihr Projektverzeichnis wechseln:
cd project
Dies bringt Sie zurück nach /home/labex/project.
- Direkt in Ihr Home-Verzeichnis springen:
cd ~
Das ~ ist ein Kürzel für Ihr Home-Verzeichnis. Bestätigen Sie mit pwd, dass Sie in /home/labex sind.
- Über einen absoluten Pfad zum Projektverzeichnis zurückkehren:
cd /home/labex/project
Dies wird "absoluter Pfad" genannt, da er bei der Wurzel (/) beginnt und den vollständigen Ort angibt.
Dateien erstellen und Verzeichnisinhalte auflisten
Da wir nun wissen, wie man navigiert, erstellen wir einige Dateien und schauen uns an, wie man Verzeichnisinhalte detaillierter anzeigt.
Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis /home/labex/project befinden:
cd /home/labex/project
- Erstellen wir ein paar Dateien:
touch file1.txt
Der Befehl touch wird verwendet, um eine leere Datei zu erstellen. Wenn die Datei bereits existiert, aktualisiert er den Zeitstempel der Datei, ohne den Inhalt zu ändern. Es ist der einfachste Weg, neue, leere Dateien anzulegen.
echo "Hello, Linux" > file2.txt
Dieser Befehl bewirkt zwei Dinge:
echoist ein Befehl, der Text ausgibt.- Das Symbol
>leitet die Ausgabe vonechoin eine Datei namensfile2.txtum. Wenn die Datei nicht existiert, wird sie erstellt. Falls sie existiert, wird ihr Inhalt überschrieben.
echo "Hidden file" > .hiddenfile
Dies erstellt eine versteckte Datei. In Linux gilt jede Datei und jedes Verzeichnis, dessen Name mit einem Punkt (.) beginnt, als versteckt.
- Erstellen wir nun ein Verzeichnis:
mkdir testdir
Der Befehl mkdir (kurz für "make directory") erstellt ein neues Verzeichnis namens testdir.
- Einfache Auflistung:
ls

Dies zeigt den Inhalt Ihres aktuellen Verzeichnisses. Sie sollten file1.txt, file2.txt und testdir sehen.
- Detaillierte Auflistung:
ls -l
Die Option -l (ein kleines L, nicht die Zahl 1) liefert eine Auflistung im "Langformat". Sie sehen zusätzliche Details wie Dateiberechtigungen, Besitzer, Größe und das Änderungsdatum.
- Versteckte Dateien anzeigen:
ls -a
Dies zeigt alle Dateien an, einschließlich der versteckten Datei .hiddenfile, die wir zuvor erstellt haben.
- Optionen kombinieren:
ls -la
Dies kombiniert das Langformat (-l) mit der Anzeige aller Dateien (-a).
- Inhalt eines spezifischen Verzeichnisses auflisten:
ls -l testdir
Dies listet den Inhalt des Verzeichnisses testdir auf (das zu diesem Zeitpunkt noch leer sein sollte).
Dateien und Verzeichnisse kopieren
Nachdem wir nun einige Dateien haben, lernen wir, wie man sie kopiert:
- Eine Datei kopieren:
cp file1.txt file1_copy.txt
Dies erstellt eine Kopie von file1.txt mit dem Namen file1_copy.txt im aktuellen Verzeichnis.
Überprüfen wir die Kopie:
ls
- Eine Datei in ein anderes Verzeichnis kopieren:
cp file2.txt testdir/
Dies kopiert file2.txt in das Verzeichnis testdir.
- Ein Verzeichnis kopieren:
cp -r testdir testdir_copy
Die Option -r steht für "recursive" (rekursiv). Sie ist beim Kopieren von Verzeichnissen notwendig, um sicherzustellen, dass auch alle darin enthaltenen Dateien und Unterordner mitkopiert werden.
- Überprüfung unserer Kopien:
ls
ls testdir
ls testdir_copy

Dateien und Verzeichnisse verschieben und umbenennen
Der Befehl mv wird in Linux sowohl zum Verschieben als auch zum Umbenennen verwendet:
- Eine Datei umbenennen:
mv file1.txt newname.txt
Dies benennt file1.txt in newname.txt um.
- Eine Datei in ein Verzeichnis verschieben:
mv newname.txt testdir/
Dies verschiebt newname.txt in das Verzeichnis testdir.
- Ein Verzeichnis umbenennen:
mv testdir_copy new_testdir
Dies benennt testdir_copy in new_testdir um.
- Verschieben und Umbenennen in einem Schritt:
mv testdir/newname.txt ./original_file1.txt
Dies verschiebt newname.txt aus testdir heraus und benennt sie im aktuellen Verzeichnis in original_file1.txt um.
- Überprüfung der Änderungen:
ls
ls testdir

Dateien und Verzeichnisse löschen
Das Löschen von Dateien und Verzeichnissen ist eine mächtige Operation. Im Gegensatz zu grafischen Benutzeroberflächen gibt es auf der Kommandozeile oft keinen "Papierkorb". Löschvorgänge mit rm sind in der Regel endgültig. Überprüfen Sie Ihre Befehle immer doppelt, bevor Sie sie ausführen!
Lassen Sie uns die erstellten Dateien und Verzeichnisse aufräumen. Stellen Sie sicher, dass Sie sich im Verzeichnis /home/labex/project befinden.
pwd
ls -a
Sie sollten Dateien wie original_file1.txt, .hiddenfile, file2.txt und Verzeichnisse wie testdir, new_testdir sehen.
-rw-rw-r-- 1 labex labex 12 May 3 08:44 .hiddenfile
-rw-rw-r-- 1 labex labex 0 May 3 08:45 file1_copy.txt
-rw-rw-r-- 1 labex labex 13 May 3 08:44 file2.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 new_testdir
-rw-rw-r-- 1 labex labex 0 May 3 08:44 original_file1.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 testdir
Eine einzelne Datei löschen:
rm original_file1.txtDer Befehl
rm(kurz für "remove") löscht Dateien. Überprüfen wir das Ergebnis:lsoriginal_file1.txtsollte verschwunden sein.Interaktives Löschen (sicherer):
Versuchen wir,
file2.txtzu löschen, aber diesmal mit dem interaktiven Flag-i:rm -i file2.txtDie Option
-ibittet Sie vor dem Löschen jeder Datei um Bestätigung. Tippen Siey(für yes/ja) und drücken Sie Enter, um den Löschvorgang zu bestätigen. Wenn Sienoder etwas anderes tippen, wird die Datei nicht gelöscht.lsWenn Sie bestätigt haben, ist
file2.txtnun gelöscht.Ein leeres Verzeichnis löschen:
Erinnern Sie sich an
new_testdir, das wir durch Umbenennen vontestdir_copyerstellt haben? Prüfen wir, ob es leer ist:ls new_testdirWenn es leer ist (keine Dateien angezeigt werden), können wir es mit
rmdirentfernen:rmdir new_testdirrmdir(remove directory) funktioniert nur bei leeren Verzeichnissen.lsnew_testdirwurde entfernt.Versuch, ein nicht-leeres Verzeichnis zu löschen:
Versuchen wir nun
rmdirauftestdiranzuwenden, welches nochfile2.txtenthält (die wir in Schritt 4 dorthin kopiert haben):ls testdir rmdir testdirSie werden wahrscheinlich eine Fehlermeldung wie
rmdir: failed to remove 'testdir': Directory not emptysehen. Dies ist beabsichtigt, darmdirkeine Verzeichnisse löschen kann, die Dateien oder andere Unterverzeichnisse enthalten.Ein Verzeichnis und dessen Inhalt löschen (rekursiv):
Um ein Verzeichnis zu löschen, das nicht leer ist, müssen wir
rmmit der Option-r(rekursiv) verwenden:rm -r testdirDieser Befehl löscht das Verzeichnis
testdirund alles, was sich darin befindet. Verwenden Sie diesen Befehl mit großer Vorsicht.lstestdirsollte nun verschwunden sein.Erzwungenes Löschen (mit äußerster Vorsicht zu genießen):
Manchmal möchten Sie Dateien löschen, ohne gefragt zu werden, selbst wenn diese schreibgeschützt sind (obwohl wir hier keine solchen haben). Die Option
-f(force) erledigt dies.Löschen wir unsere versteckte Datei:
rm .hiddenfile ls -aKombinieren wir nun
-rund-f. Der Befehlrm -rfist extrem mächtig und potenziell gefährlich. Er löscht Verzeichnisse rekursiv (-r) und erzwingt das Löschen ohne Rückfrage (-f).!!! GEFAHRENZONE !!! Seien Sie sich ABSOLUT SICHER, was Sie löschen, bevor Sie
rm -rfausführen. Ein kleiner Tippfehler könnte kritische Systemdateien oder Ihre persönlichen Daten löschen. Es gibt kein "Rückgängig". Zum Beispiel könnterm -rf /versuchen, Ihr gesamtes System zu löschen (sofern Sie die Berechtigungen dazu haben). Prüfen Sie den Pfad immer doppelt.Erstellen wir zur Demonstration (sicher) ein temporäres Verzeichnis und eine Datei:
mkdir temp_dir touch temp_dir/temp_file.txt ls -R temp_dirHinweis: Vielleicht ist Ihnen aufgefallen, dass wir bei
lsdas große-Rverwendet haben, anstatt des kleinen-rwie beicpundrm. Das ist nicht nur ein Unterschied in der Groß-/Kleinschreibung – es sind völlig verschiedene Optionen! Beilsbedeutet-R"rekursive Auflistung" (Unterverzeichnisse anzeigen), während-rdie Sortierreihenfolge umkehrt. Beicpundrmist die rekursive Option das kleine-r. Schauen Sie im Zweifel immer im Handbuch nach (man befehl), um die spezifischen Optionen jedes Befehls zu verstehen.Löschen wir es nun gewaltsam:
rm -rf temp_dirÜberprüfung der Löschung:
lstemp_dirsollte nun weg sein.
Denken Sie daran: Auf der Linux-Kommandozeile sind gelöschte Dateien in der Regel für immer verloren. Nutzen Sie rm mit Bedacht!
Zusammenfassung
Herzlichen Glückwunsch! Sie haben die essenziellen Dateioperationen in Linux gelernt:
- Navigieren im Dateisystem mit
cdundpwd - Erstellen von Dateien und Verzeichnissen mit
touchundmkdir - Auflisten von Inhalten mit
lsund seinen verschiedenen Optionen - Kopieren von Dateien und Verzeichnissen mit
cp - Verschieben und Umbenennen mit
mv - Löschen von Dateien und Verzeichnissen mit
rmundrmdir
Diese Befehle bilden das Fundament der Dateiverwaltung in Linux. Mit etwas Übung werden Sie sicher im Umgang mit Dateien und Verzeichnissen über die Kommandozeile.
Denken Sie daran, diese Befehle vorsichtig einzusetzen, insbesondere rm, da es Daten dauerhaft und ohne Wiederherstellungsmöglichkeit löscht.
Wenn Sie Ihre Linux-Reise fortsetzen, erkunden Sie die Handbuchseiten (z. B. man ls), um mehr über die einzelnen Befehle und ihre vielfältigen Optionen zu erfahren. Viel Spaß beim weiteren Entdecken!



