Wie man Dateien oder Verzeichnisse rekursiv in Linux entfernt

Hier sind die Schritte zum rekursiven Entfernen von Dateien oder Verzeichnissen/Ordnern in Linux

Haben Sie versehentlich wichtige Dateien auf einem Linux-Gerät entfernt?

Machen Sie sich keine Sorgen. Wondershare Recoverit kann Ihre verlorenen Dateien in 3 Schritten wiederherstellen. Die ultimative und professionelle Linux-Datenrettungssoftware ist absolut zuverlässig und 100% sicher.

Ein Verzeichnis kann viele Unterverzeichnisse und Dateien enthalten. Die Entfernung aller Dateien und Unterverzeichnisse in einem Verzeichnis kann bei der Arbeit mit dem Linux-Dateisystem notwendig sein. Dies wird als rekursive Löschung bezeichnet. Verwenden Sie den rm Befehl, um Dateien oder Verzeichnisse (in Windows auch als Ordner bezeichnet) unter Linux rekursiv zu entfernen. Der rmdir Befehl entfernt nur leere Verzeichnisse. In dieser Anleitung erfahren Sie, wie Sie Dateien und Verzeichnisse unter Linux rekursiv entfernen können.

Teil 1. Wie man unter Linux mit dem rm Befehl ein Verzeichnis rekursiv entfernt

Eine Zusammenfassung der Syntax des rm-Befehls zum rekursiven Entfernen von Verzeichnissen/Ordnern:

Befehlssyntax
Beschreibung
-f Eine starke Option. Meldet sich nie bei nicht existierenden Dateien oder Argumenten.
-r Rekursives Entfernen von Verzeichnissen und deren Inhalten
-v Übermäßiger Output
rm -- '-dir1' Entfernen Sie ein Verzeichnis oder eine Datei, deren Name mit einem '-' beginnt.
rm ./-dir1 Das Gleiche wie vorher
rm -rfv 'dir name here' Setzen Sie Ihren problematischen Dateinamen/Ordner in Anführungszeichen.
rm -rfv \$dirname1 Das Gleiche wie vorher

In Linux und Unix-ähnlichen Systemen wird alles als Datei betrachtet. Mit anderen Worten: "Dateien" umfassen Fotos, Dokumente, Verzeichnisse/Ordner, SSD/Festplatten, NIC, USB-Geräte, Tastaturen, Drucker und Netzwerkkommunikation.

Beispiele für das rekursive Löschen eines Ordners

In diesem Beispiel werden wir den Datenordner im aktuellen Home-Verzeichnis rekursiv löschen:

rm -r /home/vivek/data/

Vor der Entfernung des Datenverzeichnisses wird das angegebene Verzeichnis /home/vivek/data/ von allen Unterverzeichnissen, einschließlich der Unterverzeichnisse und Dateien, geleert. Sofern nicht die Option -f (force) in der Befehlszeile angegeben ist, wird der Benutzer aufgefordert, alle schreibgeschützten Dateien in den Verzeichnissen zu entfernen:

rm -rf dirname-here

Alternativ können Sie auch den folgenden Befehl verwenden:

rm -r -f /path/to/folder/

Um einen Ordner zu entfernen, dessen Name mit einem "-" beginnt, wie z.B. "-dsaatia", verwenden Sie einen der folgenden Befehle:

rm -rf -- --dsaatia

Sie können auch den folgenden Befehl ausführen:

rm -rf ./--dsaatia

Um ausführliche Ausgaben zu sehen, können wir die Option -v verwenden. Mit anderen Worten, der rm Befehl unter Linux erklärt, was mit unseren Dateien und Ordnern passiert. Ein Beispiel:

rm -rfv /path/to/dir1
rm -r -f -v /home/vivek/oldpartpics

Löschen von Ordnern mit eindeutigen Namenszeichen

Ihre Ordner und Dateien können unter Linux Leerzeichen, Semikolons, Backslashes und andere Zeichen enthalten. Ein Beispiel:

ls -l

Nehmen wir an, wir haben einen Ordner mit dem Namen "Our Sales Data" und "baddir#" oder "dir2 ;#" darin. Wie werden wir also diese Verzeichnisse mit ungewöhnlichen Namen los? Die Lösung ist ganz einfach. Wir schließen den problematischen Dateinamen oder Ordnernamen in Anführungszeichen ein. Ein Beispiel:

rm 'Our Sales Data'
rm -rfv '/path/to/Dir 1 ;'
rm -r -f -v "baddir#"
rm a\ long \dir1 \name

Manchmal ist ein Backslash (\) vor dem Meta-Zeichen in Ihrem Dateinamen oder Ordnernamen erforderlich:

rm \$dir1

Ein Verzeichnis oder einen Ordner rekursiv entfernen

Teil 2. Wie man Dateien in Linux mit dem rm Befehl rekursiv löscht

Alle Dateien rekursiv löschen

Wenn Sie den rm Befehl mit dem Flag -r verwenden, wird der Inhalt aller Dateitypen entfernt.

Schauen wir uns aber zunächst mit dem Befehl ls die Home-Verzeichnisse an. In diesem Beispiel gibt es fünf Verzeichnisse: Desktop, dir2, Dokumente, Downloads und removerecurdir.

ls ~/

Verwenden Sie den Befehl ls

Angenommen, wir möchten das Verzeichnis removecurdir und seinen Inhalt löschen, einschließlich aller Dateien und Unterverzeichnisse. Führen Sie die folgende Syntax aus.

rm -r removerecurdir/

Die ls-Ausgabe zeigt, dass das Verzeichnis und sein Inhalt erfolgreich entfernt wurden.

Dateien rekursiv löschen unter Linux

Dateien rekursiv nach Größe entfernen

Hier sind die Schritte zum rekursiven Löschen von Dateien (<10 MB) mit dem find Befehl.

Die find Syntax lautet wie folgt:

find <ParentDirectory> -type f -size -<size and units> -exec rm {} +

Sie können sudo verwenden, um auf die geschützten Dateien im folgenden Beispiel zuzugreifen.

sudo find /var/log -type f -size -10M -exec rm {} +

Das Minuszeichen (-) muss durch ein Pluszeichen (+) ersetzt werden.

find <ParentDirectory> -type f -size +<size and units> -exec rm {} +

Im folgenden Beispiel werde ich die vorherige Syntax verwenden, um Dateien zu entfernen, die größer als 1 GB sind.

find /var/log -type f -size +1G -exec rm {} +

Dateien nach Erweiterung rekursiv entfernen (Dateityp)

Der folgende Abschnitt beschreibt, wie Sie Dateien rekursiv nach Erweiterung oder Dateityp löschen können.

Suchen Sie den Inhalt des Home-Verzeichnisses, das mit dem Befehl tree als testhint bezeichnet wird.

tree testhint/

Das übergeordnete Verzeichnis testhint hat eine Datei (file1.txt) und zwei Unterverzeichnisse: testhint2 hat file3.txt und testhint3 hat file3 und something.txt.

übergeordnetes Verzeichnis testhint

Angenommen, Sie möchten alle txt-Dateien rekursiv entfernen. Die Syntax lautet wie folgt:

find <ParentDirectory> -type f -name '*.<Extension>' -print -delete

Führen Sie dann diesen Befehl aus, um alle Textdateien rekursiv innerhalb des übergeordneten Verzeichnisses testhint zu entfernen.

find ~/testhint -type f -name '*.txt' -print -delete

Alle Textdateien wurden gelöscht, so dass nur file3 ohne Erweiterung übrig blieb.

tree testhint

alle txt-Dateien rekursiv entfernen

Sie können auch Dateien nach Erweiterung löschen, indem Sie die Befehle find zusammen mit exec verwenden.

find zusammen mit exec-Befehlen

Die Syntax zum Entfernen von Dateien nach Erweiterung mit -exec lautet wie folgt:

find <ParentDirectory> -type f -name '*.<Extension>' -exec rm -f {} \;

Führen Sie den folgenden Befehl aus, um die .log-Dateien zu entfernen.

find ~/testhint -type f -name '*.log' -exec rm -f {} \;

Der Befehl xargs bietet eine ähnliche Lösung. Der Unterschied zwischen xargs und exec besteht darin, dass exec die Funktion rm immer dann ausführt, wenn eine Datei die Bedingung erfüllt. Der Befehl xargs führt den Befehl rm einmal für jede gefundene Datei aus, die die Bedingung erfüllt.

Um alle Dateien mit Hilfe von find und xargs zu entfernen, verwenden Sie die folgende Syntax:

find <ParentDirectory> -name "*.<FileExtension>" -print0 | xargs -0 rm

Entfernung der Erweiterung mit find und xargs

Geben Sie den unten gezeigten Befehl ein, um alle .c-Dateien mit xargs zu entfernen.

find . -name "*.c" -print0 | xargs -0 rm

Auch hier wurden die ausgewählten Erweiterungsdateien erfolgreich gelöscht.

Auch hier wurden die ausgewählten Erweiterungsdateien erfolgreich gelöscht.

Rekursives Löschen aller Dateien auf Basis von Berechtigungen

Werfen wir einen Blick auf die neuen Inhalte im Verzeichnis testhint. Vier Dateien haben vollen Zugriff (file2, file3.c, file6.c und file7).

Inhalt im Verzeichnis testhint

Angenommen, Sie möchten alle Dateien mit vollen Rechten für alle finden und löschen. Die Syntax lautet wie folgt:

find <ParentDirectory> -perm <Permissions> -print0 | xargs -0 rm

Führen Sie den folgenden Befehl aus, um alle Dateien mit Vollzugriff für alle Benutzer zu entfernen.

find ~/testhint -perm 777 -print0 | xargs -0 rm

alle Dateien auf der Basis von Berechtigungen entfernen

Rekursives Löschen von Dateien basierend auf ihrer Änderungs- oder Erstellungszeit

Führen Sie die folgende Syntax aus:

find ~/testhint -perm 777 -print0 | xargs -0 rm

Wenn Sie Dateien löschen möchten, die am letzten Tag (in den letzten 24 Stunden) erstellt oder geändert wurden, verwenden Sie den folgenden Befehl, wobei 1 die Anzahl der Tage angibt und das Minuszeichen (-) Dateien bezeichnet, die vor der angegebenen Anzahl von Tagen erstellt oder geändert wurden.

find <Directory> -type f -mtime -1 -delete

Ersetzen Sie das Minus-Symbol durch ein Plus-Symbol, um Dateien zu entfernen, die vor einem Tag, vor 24 Stunden, erstellt oder geändert wurden.

find <Directory> -type f -mtime +1 -delete

Teil 3. Was tun, wenn Sie versehentlich eine Datei oder einen Ordner in Linux gelöscht haben?

Unter Linux kann das versehentliche Löschen einer Datei oder eines Ordners sehr ärgerlich sein, aber es gibt Maßnahmen, die Sie ergreifen können, um Ihre Chancen auf eine erfolgreiche Wiederherstellung zu verbessern:

  • Beenden Sie die Verwendung des Computers: Um weiteren Datenverlust zu vermeiden, stellen Sie die Verwendung des Computers sofort ein und vermeiden Sie das Schreiben neuer Daten auf den Speicherort der gelöschten Datei.
  • Handeln Sie schnell: Je länger Sie mit der Wiederherstellung warten, desto größer ist das Risiko eines dauerhaften Datenverlusts.
  • Erstellen Sie regelmäßig Backups: Durch regelmäßige Backups können Sie sicherstellen, dass Sie im Falle eines versehentlichen Löschens eine aktuelle Kopie Ihrer wichtigen Daten haben.
  • Halten Sie Ihr Dateisystem in gutem Zustand: Regelmäßige Festplattenwartung, wie z.B. die Überprüfung auf Fehler und deren Behebung, kann dazu beitragen, Ihr Dateisystem in gutem Zustand zu halten und die Wiederherstellung zu erleichtern.

Die besten Linux Datenrettungstools können Ihnen auch helfen, verlorene oder gelöschte Dateien wiederherzustellen. Wenn Sie diese Tipps befolgen und das richtige Tool zur Datenwiederherstellung verwenden, erhöhen Sie Ihre Chancen auf eine erfolgreiche Wiederherstellung Ihrer gelöschten Dateien und Ordner unter Linux.

Wondershare Recoverit - Ihre sichere und zuverlässige Linux-Wiederherstellungssoftware

5.481.435 Personen haben das Tool bereits heruntergeladen.

Stellt verlorene oder gelöschte Dokumente, Fotos, Videos, Musik, E-Mails und über 1.000 weitere Dateitypen effektiv, sicher und vollständig wieder her.

Kompatibel mit allen gängigen Linux-Distributionen, einschließlich Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.

Hilft bei mehr als 500 Datenverlustszenarien, wie z.B. Löschen, Formatieren der Festplatte, Absturz des Betriebssystems, Stromausfall, Virenbefall, verlorene Partition und viele mehr.

Die einfache Oberfläche ermöglicht es Ihnen, Daten von Linux-Festplatten mit nur wenigen Klicks wiederherzustellen.

Funktioniert über eine Fernverbindung. Sie können verlorene Daten wiederherstellen, selbst wenn Ihr Linux-Gerät abgestürzt ist.

Fazit

Da Linux ein so vielseitiges und anpassungsfähiges Betriebssystem ist, können Benutzer rekursiv verschiedene Methoden zum Entfernen von Dateien oder Verzeichnissen (oder Ordnern) in Linux verwenden. Alle der oben beschriebenen Alternativen gelten für fast jede Linux-Distribution. Außerdem stehen Ihnen für den Fall, dass Sie versehentlich Dateien und Ordner löschen, Tools zur Datenwiederherstellung unter Linux zur Verfügung.

Das könnte Ihnen auch gefallen

Wie man Dateien mit debugfs unter Linux wiederherstellt

Eine Anleitung zur Wiederherstellung gelöschter Dateien mit debugfs - einem interaktiven Debugger für das Linux-Dateisystem.

Beste Alternativen zu Recuva für Linux

Dieser Artikel stellt Recuva und seine Einschränkungen vor und bietet gleichzeitig die besten Alternativen.

Wie man Foremost zum Wiederherstellen von Dateien unter Linux verwendet und seine Alternative

Hier erfahren Sie, wie Sie Foremost installieren und verwenden, um Daten unter Linux wiederherzustellen und was die beste Alternative ist.