Android

So entfernen (löschen) Sie ein Verzeichnis unter Linux

Linux löschen / deinstallieren + Bootmanager Grub löschen ohne Windows CD DVD, Dualboot entfernen

Linux löschen / deinstallieren + Bootmanager Grub löschen ohne Windows CD DVD, Dualboot entfernen

Inhaltsverzeichnis:

Anonim

Es gibt verschiedene Möglichkeiten, Verzeichnisse in Linux-Systemen zu entfernen. Wenn Sie einen Desktop-Dateimanager wie Gnome's Files oder KDE's Dolphin verwenden, können Sie Dateien und Verzeichnisse über die grafische Benutzeroberfläche des Managers löschen. Wenn Sie jedoch auf einem kopflosen Server arbeiten oder mehrere Verzeichnisse gleichzeitig entfernen möchten, können Sie die Verzeichnisse (Ordner) am besten über die Befehlszeile löschen.

Wir werden erklären, wie Sie Verzeichnisse unter Linux mit den Befehlen rmdir , rm und find löschen.

Bevor Sie beginnen

Wenn Sie ein Verzeichnis mit Ihrem Desktop-Dateimanager entfernen, wird das Verzeichnis tatsächlich in den Papierkorb verschoben und kann problemlos wiederhergestellt werden.

Seien Sie besonders vorsichtig, wenn Sie Dateien oder Verzeichnisse von der Befehlszeile entfernen, da das Verzeichnis nach dem Löschen mit den erläuterten Befehlen nicht vollständig wiederhergestellt werden kann.

Bei den meisten Linux-Dateisystemen ist zum Löschen eines Verzeichnisses eine Schreibberechtigung für das Verzeichnis und dessen Inhalt erforderlich. Andernfalls wird der Fehler "Vorgang nicht zulässig" angezeigt.

Verzeichnisnamen mit einem Leerzeichen müssen mit einem Backslash ( / ) versehen werden.

Verzeichnisse mit rmdir entfernen

rmdir ist ein Befehlszeilenprogramm zum Löschen leerer Verzeichnisse. Dies ist nützlich, wenn Sie ein Verzeichnis nur dann löschen möchten, wenn es leer ist, ohne zu prüfen, ob das Verzeichnis leer ist oder nicht.

Um ein Verzeichnis mit rmdir zu löschen, geben Sie den Befehl gefolgt vom Namen des zu entfernenden Verzeichnisses ein. Um beispielsweise ein Verzeichnis mit dem Namen dir1 zu löschen, dir1 Sie dir1 :

rmdir dir1

Wenn das Verzeichnis nicht leer ist, wird die folgende Fehlermeldung angezeigt:

rmdir: failed to remove 'dir1': No such file or directory

In diesem Fall müssen Sie den Befehl rm oder den Verzeichnisinhalt manuell entfernen, bevor Sie ihn löschen können.

Entfernen von Verzeichnissen mit rm

rm ist ein Befehlszeilenprogramm zum Löschen von Dateien und Verzeichnissen. Im Gegensatz zu rmdir der Befehl rm sowohl leere als auch nicht leere Verzeichnisse löschen.

Standardmäßig entfernt rm bei Verwendung ohne Option keine Verzeichnisse. Verwenden Sie zum Löschen eines leeren Verzeichnisses die Option -d ( --dir ) und zum Löschen eines nicht leeren Verzeichnisses und seines gesamten Inhalts die Option -r ( --recursive oder -R ).

Wenn Sie beispielsweise ein Verzeichnis mit dem Namen dir1 und dem gesamten Inhalt löschen dir1 Sie dir1 :

rm -r dir1

Wenn ein Verzeichnis oder eine Datei innerhalb des Verzeichnisses schreibgeschützt ist, werden Sie aufgefordert, den Löschvorgang zu bestätigen. Verwenden Sie die Option -f um ein Verzeichnis zu entfernen, ohne dazu aufgefordert zu werden:

rm -rf dir1

Um mehrere Verzeichnisse gleichzeitig zu entfernen, verwenden Sie den Befehl rm gefolgt von den durch Leerzeichen getrennten Namen der Verzeichnisse. Mit dem folgenden Befehl werden alle aufgelisteten Verzeichnisse und deren Inhalte entfernt:

rm -r dir1 dir2 dir3

Die Option -i weist rm an, Sie aufzufordern, das Löschen jedes Unterverzeichnisses und jeder Datei zu bestätigen. Wenn das Verzeichnis viele Dateien enthält, kann dies etwas ärgerlich sein. Daher können Sie die Option -I verwenden, die Sie nur einmal auffordert, bevor Sie mit dem Löschen fortfahren.

rm -rI dir1

Um das Verzeichnis zu entfernen, geben Sie y und drücken Sie die Enter .

rm: remove 1 argument recursively? y

Sie können auch regelmäßige Erweiterungen verwenden, um mehrere Verzeichnisse abzugleichen und zu löschen. Um beispielsweise alle Verzeichnisse der ersten Ebene im aktuellen Verzeichnis zu entfernen, die mit _bak , verwenden Sie den folgenden Befehl:

rm -r *_bak

Die Verwendung regelmäßiger Erweiterungen beim Entfernen von Verzeichnissen kann riskant sein. Es wird empfohlen, zuerst die Verzeichnisse mit dem Befehl ls aufzulisten, damit Sie sehen können, welche Verzeichnisse gelöscht werden, bevor Sie den Befehl rm ausführen.

Verzeichnisse mit find entfernen

find ist ein Befehlszeilenprogramm, mit dem Sie anhand eines bestimmten Ausdrucks nach Dateien und Verzeichnissen suchen und eine Aktion für jede übereinstimmende Datei oder jedes übereinstimmende Verzeichnis ausführen können.

Das häufigste Szenario ist die Verwendung des Befehls find , um Verzeichnisse basierend auf einem Muster zu löschen. Um beispielsweise alle Verzeichnisse zu löschen, die mit _cache im aktuellen Arbeitsverzeichnis enden, würden Sie _cache ausführen:

find. -type d -name '*_cache' -exec rm -r {} +

Lassen Sie uns den obigen Befehl analysieren:

  • /dir - rekursiv im aktuellen Arbeitsverzeichnis suchen ( . ). -type d - schränkt die Suche auf Verzeichnisse ein. -name '*_cache' - Nur Verzeichnisse durchsuchen, die mit _cache -exec - -exec einen externen Befehl mit optionalen Argumenten aus, in diesem Fall rm -r . {} + - fügt die gefundenen Dateien an das Ende des Befehls rm .

Alle leeren Verzeichnisse entfernen

So entfernen Sie alle leeren Verzeichnisse in einem Verzeichnisbaum:

find /dir -type d -empty -delete

Hier ist eine Erklärung für die verwendeten Optionen:

  • /dir - Sucht rekursiv im Verzeichnis /dir . -type d - schränkt die Suche auf Verzeichnisse ein. -empty - -empty die Suche nur auf leere Verzeichnisse ein. -delete - löscht alle gefundenen leeren Verzeichnisse im Teilbaum. -delete kann nur leere Verzeichnisse löschen.

Verwenden Sie die Option -delete mit äußerster Vorsicht. Die -delete wird als Ausdruck ausgewertet. Wenn Sie -delete Option -delete hinzufügen, -delete der Befehl alle -delete unterhalb der angegebenen Startpunkte. Verwenden -delete immer -delete als letzte Option und testen Sie vor dem Löschen den Befehl zuerst ohne die Option -delete .

/ bin / rm: Argumentliste zu lang

Diese Fehlermeldung wird angezeigt, wenn Sie mit dem Befehl rm ein Verzeichnis entfernen, das eine große Anzahl von Dateien enthält. Dies liegt daran, dass die Anzahl der Dateien die Systembegrenzung für die Größe des Befehlszeilenarguments überschreitet.

Es gibt verschiedene Lösungen für dieses Problem. Beispielsweise können Sie zum Verzeichnis wechseln und manuell oder in einer Schleife Unterverzeichnisse nacheinander entfernen.

Die einfachste Lösung besteht darin, zuerst alle Dateien im Verzeichnis mit dem Befehl find zu löschen und dann das Verzeichnis zu löschen:

find /dir -type f -delete && rm -r /dir

Fazit

Mit rm und find Sie Verzeichnisse nach unterschiedlichen Kriterien schnell und effizient löschen.

Das Löschen von Verzeichnissen ist einfach, aber Sie müssen vorsichtig sein, um wichtige Daten nicht zu löschen.

rm rmdir find terminal