Verzeichnisstrukturen mit mkdir, rmdir und rm erstellen und entfernen
In diesem Schritt lernen Sie, wie Sie Verzeichnisse erstellen und entfernen. Das Organisieren von Dateien in einer hierarchischen Verzeichnisstruktur ist eine grundlegende Aufgabe unter Linux. Wir verwenden den Befehl mkdir
zum Erstellen von Verzeichnissen, rmdir
zum Entfernen leerer Verzeichnisse und rm
zum Entfernen von Verzeichnissen und all deren Inhalten. Alle Befehle werden von Ihrem Standardverzeichnis, ~/project
, aus ausgeführt.
Zuerst erstellen wir ein einfaches Verzeichnis. Der Befehl mkdir
steht für "make directory" (Verzeichnis erstellen).
Führen Sie in Ihrem Terminal den folgenden Befehl aus, um ein Verzeichnis namens cars
zu erstellen:
mkdir cars
Um zu überprüfen, ob das Verzeichnis erstellt wurde, können Sie den Befehl ls -ld
verwenden. Die Option -l
bietet eine lange Listenansicht, und die Option -d
listet den Verzeichniseintrag selbst auf, nicht dessen Inhalt.
ls -ld cars
Sie sollten eine Ausgabe ähnlich dieser sehen, die die Erstellung des cars
-Verzeichnisses bestätigt. Das d
am Anfang der Berechtigungszeichenkette zeigt an, dass es sich um ein Verzeichnis handelt.
drwxr-xr-x 2 labex labex 4096 May 20 10:30 cars
Nun entfernen wir dieses Verzeichnis. Der Befehl rmdir
wird zum Entfernen leerer Verzeichnisse verwendet.
rmdir cars
Überprüfen Sie die Entfernung, indem Sie den Befehl ls -ld
erneut ausführen.
ls -ld cars
Dieses Mal erhalten Sie eine Fehlermeldung, da das Verzeichnis nicht mehr existiert. Dies bestätigt, dass rmdir
erfolgreich war.
ls: cannot access 'cars': No such file or directory
Der Befehl rmdir
funktioniert nur mit leeren Verzeichnissen. Was ist, wenn wir eine verschachtelte Verzeichnisstruktur haben? Versuchen wir, eine Verzeichnisstruktur pastry/pies/cakes
zu erstellen. Um übergeordnete Verzeichnisse bei Bedarf zu erstellen, müssen wir die Option -p
(parents) mit mkdir
verwenden.
Führen Sie den folgenden Befehl aus:
mkdir -p pastry/pies/cakes
Um die gesamte Verzeichnisstruktur, die Sie gerade erstellt haben, anzuzeigen, verwenden Sie den Befehl ls
mit den Optionen -l
(langes Format) und -R
(rekursiv).
ls -lR pastry
Die Ausgabe zeigt das Verzeichnis pastry
und seine Unterverzeichnisse pies
und cakes
.
pastry:
total 4
drwxr-xr-x 3 labex labex 4096 May 20 10:35 pies
pastry/pies:
total 4
drwxr-xr-x 2 labex labex 4096 May 20 10:35 cakes
pastry/pies/cakes:
total 0
Versuchen wir nun, das Verzeichnis pastry
mit rmdir
zu entfernen.
rmdir pastry
Warum ist dieser Befehl fehlgeschlagen? Das Terminal zeigt eine Fehlermeldung an:
rmdir: failed to remove 'pastry': Directory not empty
Dies liegt daran, dass rmdir
nur leere Verzeichnisse löschen kann und pastry
das Unterverzeichnis pies
enthält.
Um ein Verzeichnis und all seine Inhalte (einschließlich Unterverzeichnisse und Dateien) zu entfernen, müssen Sie den Befehl rm
mit der Option -r
(rekursiv) verwenden. Seien Sie mit diesem Befehl sehr vorsichtig, da er Daten dauerhaft löschen kann.
rm -r pastry
Dieser Befehl erzeugt bei Erfolg keine Ausgabe. Sie können überprüfen, ob das Verzeichnis pastry
vollständig entfernt wurde, indem Sie ls -ld pastry
erneut ausführen, was zu einer Fehlermeldung "No such file or directory" führen sollte.
ls -ld pastry