So Löschen Sie Dateien und Verzeichnisse im Linux-Terminal

Fatmawati Achmad Zaenuri/Shutterstock.com

Die rm und rmdir Befehle löschen von Dateien und Verzeichnisse auf Linux -, macOS-und andere Unix-ähnliche Betriebssysteme. Sie sind ähnlich wie die del und deltree Befehle in Windows und DOS. Diese Befehle sind sehr mächtig und haben durchaus ein paar Optionen.

Es ist wichtig zu beachten, dass Dateien und Verzeichnisse gelöscht mit rm und rmdir nicht bekommen, in den Papierkorb verschoben. Sie sind sofort von Ihrem computer entfernt. Wenn Sie versehentlich Dateien löschen mit Hilfe dieser Befehle, die einzige Weise werden Sie in der Lage sein, um Sie wiederherzustellen, ist von einer Sicherung.

So Entfernen Sie Dateien mit rm

Der einfachste Fall ist das löschen einer einzelnen Datei im aktuellen Verzeichnis. Geben Sie den rm-Befehl, ein Leerzeichen und dann den Namen der Datei, die Sie löschen möchten.

rm file_1.txt

Wenn die Datei nicht im aktuellen Arbeitsverzeichnis befindet, geben Sie den Pfad für den Speicherort der Datei.

rm ./path/to/the/file/file_1.txt

Sie können pass-mehr als ein Dateiname zu rm. Dabei löscht alle angegebenen Dateien.

rm file_2.txt file_3.txt

Wildcards können verwendet werden, um ausgewählte Gruppen von Dateien gelöscht werden. Der * steht für mehrere Zeichen und ? repräsentiert ein einzelnes Zeichen. Mit diesem Befehl löschen Sie alle png-Dateien im aktuellen Arbeitsverzeichnis.

rm *.png

Dieser Befehl würde alle Dateien löschen, die ein einzelnes Zeichen-Erweiterung. Zum Beispiel, dies würde die Datei löschen.1 und Datei.2, aber nicht die Datei.12.

rm *.?

Wenn eine Datei schreibgeschützt ist, werden Sie aufgefordert, bevor die Datei gelöscht wird. Sie reagieren muss mit y oder n, und drücken Sie “Enter”.

Um das Risiko zu verringern mit dem rm-Befehl mit wildcards verwenden Sie die-i (interactive) option. Dies erfordert, dass Sie bestätigen Sie das löschen der einzelnen Dateien.

rm -i *.dat

Das -f (force) option ist das Gegenteil von interactive. Es fragt nicht nach einer Bestätigung, selbst wenn die Dateien schreibgeschützt sind.

rm -f Dateiname

So Entfernen Sie Verzeichnisse mit rm

So entfernen Sie ein leeres Verzeichnis verwenden Sie die Option-d (directory) – option. Sie können Platzhalter (* und ?) in einem Verzeichnis-Namen nur wie Sie mit Dateinamen.

rm -d Verzeichnis

Die Bereitstellung von mehr als einem directory-name löscht die angegebene leere Verzeichnisse.

rm -d directory1 verzeichnis2 /Pfad/zu/directory3

Um Verzeichnisse zu löschen, die nicht leer sind, verwenden Sie die Option-r (recursive) – option. Um klar zu sein, entfernt diese die Verzeichnisse und alle Dateien und Unterverzeichnisse innerhalb Sie enthalten werden.

rm -r directory1 verzeichnis2 directory3

Wenn ein Verzeichnis oder eine Datei schreibgeschützt ist, werden Sie aufgefordert, den Löschvorgang zu bestätigen. Um Verzeichnisse zu löschen, die nicht leer sind und die zu unterdrücken Sie diese Eingabeaufforderungen verwenden Sie die Option-r (rekursiv) und -f (force) Optionen zusammen.

rm -rf Verzeichnis

Sorgfalt ist hier erforderlich. Machen einen Fehler mit dem Befehl rm-rf konnte, Datenverlust oder Fehlfunktion des Systems. Es ist gefährlich, und Vorsicht ist die beste Politik. Um einen Einblick in die Verzeichnisstruktur und die Dateien, die gelöscht werden sollen, indem Sie den Befehl rm-rf verwenden Sie den tree-Befehl.

Die Verwendung von apt-get zu installieren Sie dieses Paket auf Ihrem system, wenn Sie Ubuntu oder eine andere Debian-basierte distribution. Auf anderen Linux-Distributionen, verwenden Sie Ihre Linux-distribution Paket-management-tool statt.

sudo apt-get install tree

Läuft der tree-Befehl erzeugt ein einfach zu verstehen Diagramm der Verzeichnisstruktur und die Dateien unter dem Verzeichnis, aus dem Sie ausgeführt wird.

Baum

Sie können auch einen Pfad zu der Struktur Befehl zu verursachen, es zu starten, den Baum aus einem anderen Verzeichnis im Dateisystem.

Baum Pfad/zum/Verzeichnis

Der rm-Befehl –one-file-system –no-preserve-root, –preserve-root-Optionen, aber die sind nur für fortgeschrittene Benutzer empfohlen. Wenn man etwas falsch, könnten Sie versehentlich löschen Sie alle Ihre system-Dateien. Konsultieren Sie den Befehl die Handbuchseite für weitere Informationen.

So Entfernen Sie Verzeichnisse mit rmdir

Es gibt einen anderen Befehl, genannt rmdir, dass Sie verwenden können, um Verzeichnisse zu löschen. Der Unterschied zwischen rm und rmdir ist, dass rmdir kann nur Verzeichnisse zu löschen, die leer sind. Es wird niemals löschen Sie die Dateien.

Der einfachste Fall ist das löschen einer einzelnen, leeren Verzeichnis. Wie bei rm, die Sie übergeben können mehrere directory-Namen zu rmdir , oder ein Pfad zu einem Verzeichnis.

Löschen Sie ein einzelnes Verzeichnis im aktuellen Verzeichnis durch die Weitergabe Ihrer Namen an rmdir :

rmdir Verzeichnis

Löschen Sie mehrere Verzeichnisse, indem eine Liste der Namen, die rmdir :

rmdir directory1 verzeichnis2 directory3

Löschen Sie ein Verzeichnis nicht in das aktuelle Verzeichnis durch Angabe des vollständigen Pfad zu diesem Verzeichnis:

rmdir /Pfad/zum/Verzeichnis

Wenn Sie versuchen, einen Ordner löschen, der nicht leer rmdir wird Ihnen eine Fehlermeldung angezeigt. Im folgenden Beispiel rmdir erfolgreich, still und leise, löscht das Verzeichnis clients aber Sie weigert sich zu löschen, das Projekte-Verzeichnis, da es Dateien enthält. Das Projekte-Verzeichnis ist Links genau so, wie es war, und die Dateien sind unberührt.

Wenn rmdir gibt ein “Verzeichnis nicht leer” Fehlermeldung, es beendet die Verarbeitung der Verzeichnisse, die an Sie übergeben wurden, die auf der Befehlszeile. Wenn Sie gebeten haben, es zu löschen, vier-Verzeichnisse, und der erste hatte eine Dateien, rmdir würde, geben Sie die Fehlermeldung und nichts mehr tun. Sie können erzwingen, diese Fehler ignoriert mit –ignore-fail-on-non-empty-option an, so dass die anderen Verzeichnisse, verarbeitet werden.

Im folgenden Beispiel werden zwei Ordner übergeben wurden, rmdir, sind diese arbeiten/Berichte und arbeiten/Angebote . Die –ignore-fail-on-non-empty-option wurde im Befehl enthalten. Die Arbeit/Berichte-Ordner Dateien, so rmdir nicht löschen. Die –ignore-fail-on-non-empty-option erzwingt, rmdir, um den Fehler zu ignorieren und fahren Sie mit dem nächsten Ordner verarbeitet werden muss, die Arbeit/Angebote. Dies ist ein leerer Ordner und rmdir löscht es.

Dies war der Befehl.

rmdir –ignore-fail-on-non-empty arbeiten/Berichte /arbeiten/Angebote

Sie können-p (Eltern) option um ein Verzeichnis zu löschen und löschen Sie den übergeordneten Verzeichnissen auch. Dieser trick funktioniert, weil rmdir beginnt mit dem target-Verzeichnis und dann wieder zurück-Schritte auf das übergeordnete Element. Dieses Verzeichnis sollte nun leer sein, so kann es gelöscht werden, indem rmdir, und der Prozess wiederholt Schritt zurück auf den Weg, der vorgesehen war, um rmdir.

Im folgenden Beispiel wird der Befehl übergeben wird, rmdir ist:

rmdir -p Arbeit/Rechnungen

Sowohl die Rechnungen und die arbeiten-Verzeichnisse sind gelöscht, wie gewünscht.

Egal, ob Sie mit Bash oder eine andere shell, die Linux bietet flexible und mächtige Befehle für das löschen von Verzeichnissen und Dateien direkt aus dem terminal-Befehlszeile. Einige Leute es vorziehen, haben einen workflow, der dreht sich um den terminal. Andere haben vielleicht keine Wahl in der Angelegenheit. Sie arbeiten möglicherweise auf Servern ohne GUI installiert ist, oder auf eine remote-Sitzung auf einem headless system wie ein Raspberry Pi. Diese Befehle sind perfekt für diese Gruppe von Menschen.

Aber egal, welche Art von workflow, die Sie bevorzugen, diese Befehle eignen sich sehr gut, um in shell-Skripten. Wenn ein script ausgelöst wird, durch einen cron-job, kann es helfen, automatisieren Sie routine-Hauswirtschaft-Aufgaben wie Spülen unerwünschte log-Dateien. Wenn Sie die Untersuchung der use-case, denken Sie daran, die macht dieser Befehle, prüfen alles sorgfältig, und halten Sie immer eine aktuelle Sicherung.


Posted

in

by

Tags: