Löschen von Dateien in Linux

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie Dateien in einer Linux-Umgebung effizient verwalten können, indem Sie den Befehl rm verwenden. Die Dateiverwaltung ist eine grundlegende Fähigkeit für alle, die mit Linux-Systemen arbeiten. Der Befehl rm (remove, entfernen) ist ein leistungsstarkes Werkzeug, das es Benutzern ermöglicht, Dateien und Verzeichnisse vom System zu löschen.

Sie werden lernen, wie Sie einzelne Dateien, mehrere Dateien mit Platzhaltern und ganze Verzeichnisse mit rekursiven Optionen löschen können. Am Ende dieses Labs werden Sie einen soliden Überblick darüber haben, wie Sie den Befehl rm effektiv und sicher in verschiedenen Szenarien einsetzen können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/rm("File Removing") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") subgraph Lab Skills linux/ls -.-> lab-271371{{"Löschen von Dateien in Linux"}} linux/rm -.-> lab-271371{{"Löschen von Dateien in Linux"}} linux/wildcard -.-> lab-271371{{"Löschen von Dateien in Linux"}} end

Löschen einer einzelnen Datei mit rm

Der Befehl rm (Abkürzung für remove, entfernen) wird in Linux verwendet, um Dateien und Verzeichnisse zu löschen. In diesem Schritt lernen Sie, wie Sie eine einzelne Datei vom System entfernen können.

Lassen Sie uns zunächst überprüfen, welche Dateien im Verzeichnis old_predictions verfügbar sind:

ls ~/project/old_predictions

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

prediction-01.txt  prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

Jetzt löschen wir die Datei prediction-01.txt mit dem Befehl rm:

rm ~/project/old_predictions/prediction-01.txt

Der Befehl rm gibt keine Ausgabe zurück, wenn die Operation erfolgreich war. Dies ist ein gängiges Verhalten für viele Linux-Befehle, bei denen "keine Nachrichten sind gute Nachrichten" - das heißt, wenn keine Fehlermeldung angezeigt wird, wurde der Befehl erfolgreich ausgeführt.

Um zu überprüfen, ob die Datei entfernt wurde, listen Sie erneut den Inhalt des Verzeichnisses auf:

ls ~/project/old_predictions

Die Ausgabe sollte nun zeigen, dass prediction-01.txt nicht mehr vorhanden ist:

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

Der Befehl rm löscht Dateien dauerhaft. Im Gegensatz zu Windows oder macOS gibt es in der Befehlszeilenschnittstelle keinen Papierkorb. Sobald eine Datei mit rm entfernt wurde, kann sie nicht einfach wiederhergestellt werden.

Löschen mehrerer Dateien mit Platzhaltern

Oft müssen Sie mehrere Dateien auf einmal löschen. Linux bietet Platzhalter (Wildcards), um diese Aufgabe zu vereinfachen. Platzhalter sind Sonderzeichen, die ein oder mehrere Zeichen in einem Dateinamen repräsentieren können.

Schauen wir uns die gängigen Platzhalter an:

  • * (Sternchen): Passt auf eine beliebige Anzahl von Zeichen (einschließlich null)
  • ? (Fragezeichen): Passt genau auf ein Zeichen
  • [] (eckige Klammern): Passt auf ein beliebiges Zeichen innerhalb der Klammern

Zunächst überprüfen wir die aktuellen Dateien im Verzeichnis old_predictions:

ls ~/project/old_predictions

Sie sollten Folgendes sehen:

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

Jetzt löschen wir die Dateien prediction-02.txt, prediction-03.txt und prediction-04.txt alle auf einmal. Wir können die Mustererkennung mit geschweiften Klammern {} verwenden, um mehrere Optionen anzugeben:

rm ~/project/old_predictions/prediction-{02..04}.txt

Dieser Befehl verwendet die Bereichsnotation {02..04}, die sich zu 02, 03, 04 erweitert. Die Shell erweitert diesen Befehl vor der Ausführung und führt effektiv aus:

rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt

Eine andere gängige Methode ist die Verwendung des Sternchen-Platzhalters. Beispielsweise könnten Sie, wenn Sie alle Vorhersagedateien löschen möchten, Folgendes verwenden:

## Dies ist nur ein Beispiel - führen Sie diesen Befehl jetzt nicht aus
## rm ~/project/old_predictions/prediction-*.txt

Lassen Sie uns überprüfen, welche Dateien im Verzeichnis verbleiben:

ls ~/project/old_predictions

Sie sollten jetzt nur noch Folgendes sehen:

prediction-05.txt

Dies zeigt, dass die drei Dateien erfolgreich gelöscht wurden und nur prediction-05.txt verbleibt.

Löschen von Verzeichnissen mit rm -r

Der grundlegende rm-Befehl löscht nur Dateien, keine Verzeichnisse. Um ein Verzeichnis und seinen gesamten Inhalt (Dateien und Unterverzeichnisse) zu löschen, müssen Sie die Option -r (rekursiv) verwenden.

Lassen Sie uns untersuchen, welche Verzeichnisse im Ordner archive vorhanden sind:

ls ~/project/archive

Sie sollten Folgendes sehen:

2008  2009  2010

Jetzt überprüfen wir, welche Dateien sich im Verzeichnis 2009 befinden:

ls ~/project/archive/2009

Die Ausgabe sollte Folgendes zeigen:

august.txt  july.txt  june.txt

Um das gesamte Verzeichnis 2009 zusammen mit seinem gesamten Inhalt zu löschen, verwenden Sie die Option -r mit dem rm-Befehl:

rm -r ~/project/archive/2009

Dieser Befehl löscht das Verzeichnis und seinen gesamten Inhalt rekursiv. Die Option -r steht für "rekursiv" und teilt rm mit, das Verzeichnis und alles darin zu löschen.

Um zu überprüfen, ob das Verzeichnis gelöscht wurde, überprüfen Sie erneut den Inhalt des Verzeichnisses archive:

ls ~/project/archive

Sie sollten jetzt nur noch Folgendes sehen:

2008  2010

Das Verzeichnis 2009 und sein gesamter Inhalt wurden erfolgreich gelöscht.

Wichtiger Hinweis: Seien Sie äußerst vorsichtig, wenn Sie rm -r verwenden, insbesondere in Kombination mit Platzhaltern oder als Root-Benutzer. Ein falsch getippter Befehl kann zu erheblichen Datenverlusten führen. Einige Systemadministratoren verwenden die Option -i (interaktiv), die vor dem Löschen jeder Datei um Bestätigung fragt, als zusätzliche Sicherheitsmaßnahme:

## Dies ist nur ein Beispiel - führen Sie diesen Befehl jetzt nicht aus
## rm -ri ~/project/archive/2010

Eine andere nützliche Option ist -v (ausführlich), die jede Datei anzeigt, während sie gelöscht wird:

## Dies ist nur ein Beispiel - führen Sie diesen Befehl jetzt nicht aus
## rm -rv ~/project/archive/2010

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Dateien in einer Linux-Umgebung mit dem rm-Befehl verwalten können. Hier sind die behandelten Schlüsselkonzepte:

  1. Grundlegendes Löschen von Dateien: Verwenden des rm-Befehls zum Löschen einzelner Dateien
  2. Löschen mehrerer Dateien: Verwenden von Platzhaltern (Wildcards) und geschweiften Klammerausdehnungen, um mehrere Dateien auf einmal zu löschen
  3. Löschen von Verzeichnissen: Verwenden der Option -r, um Verzeichnisse und ihren Inhalt rekursiv zu löschen

Der rm-Befehl ist ein leistungsstarkes Werkzeug in der Linux-Dateiverwaltung, sollte jedoch mit Vorsicht verwendet werden, da gelöschte Dateien nicht einfach wiederhergestellt werden können. Überprüfen Sie Ihre Befehle immer zweimal, insbesondere wenn Sie Platzhalter oder rekursive Optionen verwenden.

Zusätzliche Optionen, die Ihnen auf Ihrem Linux-Weg nützlich sein könnten:

  • rm -i: Interaktiver Modus, fordert vor jedem Löschvorgang um Bestätigung
  • rm -f: Erzwingtes Löschen ohne Bestätigungsaufforderung, auch für schreibgeschützte Dateien
  • rm -v: Ausführlicher Modus, erklärt, was getan wird

Diese Dateiverwaltungskompetenzen sind für alle, die mit Linux-Systemen arbeiten, von Anfängern bis hin zu fortgeschrittenen Benutzern, von grundlegender Bedeutung.