Verzeichnisstrukturen erstellen und löschen mit mkdir, rmdir und rm
In diesem Schritt lernen Sie, wie Sie Verzeichnisse erstellen und entfernen. Das Organisieren von Dateien in einer hierarchischen Struktur aus Verzeichnissen ist eine grundlegende Aufgabe unter Linux. Wir verwenden den Befehl mkdir zum Erstellen von Verzeichnissen, rmdir zum Löschen leerer Verzeichnisse und rm zum Entfernen von Verzeichnissen samt deren gesamtem Inhalt. Alle Befehle werden in Ihrem Standardverzeichnis ~/project 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 liefert ein langes Listenformat, und die Option -d listet den Verzeichniseintrag selbst auf, nicht dessen Inhalt.
ls -ld cars
Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die Erstellung des Verzeichnisses cars bestätigt. Das d am Anfang der Berechtigungszeichenfolge zeigt an, dass es sich um ein Verzeichnis (Directory) handelt.
drwxr-xr-x 2 labex labex 4096 May 20 10:30 cars
Nun löschen wir dieses Verzeichnis wieder. Der Befehl rmdir wird verwendet, um leere Verzeichnisse zu entfernen.
rmdir cars
Überprüfen Sie die Löschung, indem Sie den Befehl ls -ld erneut ausführen.
ls -ld cars
Diesmal 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 bei leeren Verzeichnissen. Was aber, wenn wir eine Struktur aus verschachtelten Verzeichnissen haben? Versuchen wir, die Verzeichnisstruktur pastry/pies/cakes zu erstellen. Um übergeordnete Verzeichnisse bei Bedarf automatisch mitzuerstellen, 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 soeben erstellte Verzeichnisstruktur 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 löschen.
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 seinen gesamten Inhalt (einschließlich Unterverzeichnisse und Dateien) zu löschen, 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 erneut ls -ld pastry ausführen, was zu einem Fehler „No such file or directory“ führen sollte.
ls -ld pastry