Linux-Befehl rm: alles, was Sie wissen müssen

Der Linux-Befehl rm löscht Dateien und Verzeichnisse. Um dieses Tool sicher zu verwenden, müssen Sie sicher sein, was passiert, wenn Sie die Eingabetaste drücken. Hier ist, was Sie wissen müssen.

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Was ist der rm-Befehl unter Linux?

Der Linux-Befehl rm dient hauptsächlich zum Löschen von Dateien. Es ist eines der Dinge, auf die die meisten Menschen stoßen, sobald sie mit der Verwendung von Linux beginnen. Nur weil Sie ein Linux-Neuling sind, werden Sie wahrscheinlich Fehler machen. Sie erstellen oder kopieren versehentlich Dateien mit falschem Namen oder an den falschen Speicherort. Es ist alles Teil der Lernkurve für die Befehlszeile. Bereinigungen für solche Fehler beinhalten rm.

Der Befehl rm kann Dateien, Dateigruppen, Verzeichnisse oder ganze Verzeichnisbäume löschen. Aus diesem Grund sollte es mit Vorsicht verwendet werden. Die Verwendung von rm ist nicht schwierig, aber die Strafe für einen Fehler ist hoch.

Wenn eine Datei mit rm gelöscht wird, verschwindet sie. Es wird nicht in den Papierkorb verschoben. Es wird sofort gelöscht. Dies bedeutet nicht, dass Sie die Verwendung von rm vermeiden sollten. Aber um es sicher zu verwenden, müssen Sie sich dessen bewusst sein, was es kann, und sicherstellen, dass Sie es richtig verwenden.

Einige Tools sind riskanter als andere und weniger fehlerverzeihend. Deshalb gab es keinen Film namens The Texas Wrench Massacre. rm ist kein Schraubenschlüssel, es ist definitiv eine Kettensäge.

Die Leute benutzen jeden Tag den ganzen Tag Kettensägen, und solange sie verantwortungsbewusst und bewusst damit umgehen, geht es ihnen gut. Mit rm ist es genauso. Wenn Sie rm aus Ihrer Werkzeugtasche ziehen, sollte es langsamer werden und auf der Befehlszeile überprüfen und dann erneut überprüfen.

Der Befehl rm ist eine ausführbare Datei, nicht Teil der Shell. Obwohl wir hier also Bash verwenden, ist es der Standard-Linux-RM, kein spezieller Bash-RM.

So löschen Sie Dateien mit rm

Der einfachste Weg, rm zu verwenden, besteht darin, den Namen der Datei anzugeben, die Sie löschen möchten.

rmconfig.gc

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Sie kehren automatisch zur Befehlszeile zurück. rm vertritt die klassische abgelenkte Linux-Haltung, dass Sie davon ausgehen können, dass es das getan hat, was Sie wollten, wenn es sich über nichts beschwert. Die Angabe eines solchen Dateinamens bewirkt, dass rm im aktuellen Arbeitsverzeichnis nach der Datei sucht.

Sie können mehrere Dateinamen in der Befehlszeile angeben. Sie können auch einen Verzeichnispfad angeben, wenn sich die zu löschende Datei nicht im aktuellen Verzeichnis befindet.

rm memlog.sh /home/dave/dev-archive/config.gc

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Auch hier wird nichts gemeldet, wenn es rm gelungen ist, die ausgewählten Dateien zu löschen.

Lesen Sie auch:  Wie man einen Monero-Knoten auf Tor unter Linux hostet

Verwenden Sie Wildcards mit rm

Mit Platzhaltern können Sie Dateigruppen angeben, ohne einzelne Dateien in der Befehlszeile auflisten zu müssen.

Ein Sternchen „*“ steht für eine beliebige Zeichenfolge, einschließlich keiner. Fragezeichen "?" steht für ein beliebiges einzelnes Zeichen.

Um zu überprüfen, ob Ihre Platzhalter Ihren Erwartungen entsprechen und nicht mehr, können Sie sie mit ls verwenden, bevor Sie sie mit rm verwenden.

Um alle PNG-Dateien im aktuellen Verzeichnis zu löschen, verwenden Sie „*.png“. Das bedeutet, dass jede Zeichenfolge gefolgt von „.png“ abgeglichen wird. Wenn Dateien gelöscht werden, können wir mit ls prüfen, ob sie weg sind.

ls*.png
rm*.png
ls*.png

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Auf unserem Testcomputer haben wir zwei Dateien im aktuellen Verzeichnis, deren Namen mit „config“ beginnen.

Wir können beide weglassen, indem wir den Platzhalter Sternchen verwenden. Es stimmt mit beiden Dateien überein, da rm nach Dateinamen sucht, die mit "config" beginnen, gefolgt von einer beliebigen Zeichenfolge. In einer Datei ist diese Zeichenfolge ".sl3", die Dateinamenerweiterung. Der andere Dateiname hat keine Zeichen nach „config“, aber da das Sternchen mit irgendwelchen oder keinen Zeichen übereinstimmt, passt es auch zu diesem Dateinamen.

ls-Konfiguration*
rmconfig*
ls-Konfiguration*

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Sie können das Fragezeichen paarweise verwenden. Dadurch werden Dateien gelöscht, die genau zwei Buchstaben-Dateierweiterungen haben.

ls*.??
rm*.??
ls*.??

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Verwenden Sie rm interaktiv

Der sichere Weg, rm zu verwenden, besteht darin, es zu zwingen, vor dem Löschen jeder Datei nach einer Bestätigung zu fragen. Mit der Option -i (interaktiv) können Sie dies tun. Wenn Sie diese Option zur Befehlszeile hinzufügen, werden Sie von rm vor jedem Löschen aufgefordert, sodass Sie die Möglichkeit haben, unbeabsichtigte Aktionen zu überspringen.

Wir verwenden in diesem Befehl die Option -i (interaktiv). Versucht, alle Dateien mit einer aus einem Zeichen bestehenden Dateierweiterung zu löschen.

rm -i *.?

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Jede übereinstimmende Datei wird der Reihe nach präsentiert. Wenn Sie mit „Y“ oder „Y“ antworten, wird die Datei gelöscht. Wenn Sie mit „n“ antworten, bleibt die Datei erhalten. Wenn Sie mit etwas anderem als "y" oder "y" antworten, bleibt die Datei erhalten. Sie können einfach die Eingabetaste drücken und die Datei bleibt erhalten.

Sie können Ihre Dateiliste schnell durcharbeiten, Dateien löschen oder überspringen, um auszuwählen, welche Dateien entfernt werden sollen. Wie wir sehen werden, können Sie die Option -i (interaktiv) mit den anderen rm-Optionen verwenden.

Lesen Sie auch:  So entfernen Sie das Passwort aus einer PDF-Datei unter Linux

mit der Option rm force

Wenn Sie versuchen, eine schreibgeschützte Datei zu löschen, fordert rm Sie zur Bestätigung auf, bevor die Datei gelöscht wird. Dies ist ein gutes Sicherheitsnetz, aber es kann mühsam werden, wenn Sie viele Dateien löschen müssen.

rm geonames. sl3

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Die Option -f (erzwingen) weist rm an, niemals nachzufragen. Sie sagen zu ihm „Ja, löschen Sie alle Dateien, nach denen Sie mich normalerweise fragen“. Es verhindert auch, dass rm sich darüber beschwert, dass keine Dateien vorhanden sind.

rm -f Geonamen.sl3

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Die Option -f (force) wird häufig verwendet, wenn Sie eine verschachtelte Gruppe von Dateien und Verzeichnissen löschen.

Verzeichnisse mit rm löschen

Der rm-Befehl kann optional auch Verzeichnisse zusammen mit den darin enthaltenen Dateien entfernen. Dies ähnelt dem Befehl rmdir, aber rmdir kann keine Verzeichnisse löschen, die Dateien enthalten. Es löscht nur leere Verzeichnisse. Der Befehl rm kann problemlos Verzeichnisse löschen, die Dateien und andere Verzeichnisse enthalten.

Das Löschen eines Verzeichnisses ist wie das Löschen einer Datei. Wir geben den Verzeichnisnamen in der Befehlszeile an. Wir müssen die Option -d (Verzeichnis) einfügen. Wie beim Löschen von Dateien können wir die Namen mehrerer Verzeichnisse angeben. Wir können einen Pfad zu einem Verzeichnis angeben, das im aktuellen Arbeitsverzeichnis nicht vorhanden ist.

rm -d alte Projekte

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Wenn das Verzeichnis Dateien enthält, schlägt dies fehl.

Um ein Verzeichnis und seinen Inhalt zu löschen, verwenden Sie das Flag -r (rekursiv). Dadurch werden das Verzeichnis, seine Dateien und alle darin enthaltenen verschachtelten Verzeichnisse gelöscht.

rm -d Archiv
rm -r Archiv

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Der zweite Befehl war erfolgreich.

Um rm in den vollständigen Sägemodus zu schalten, können wir die Optionen -r (rekursiv) und -f (erzwingen) kombinieren. Dies weist rm an, alle Dateien und Ordner im Verzeichnisbaum rekursiv zu löschen, auch wenn sie schreibgeschützt sind, und ohne uns zu fragen.

Auf unserem Testcomputer haben wir ein Verzeichnis mit dem Namen "migrated code". Es enthält Dateien und ein weiteres Verzeichnis namens „6502“. Das Verzeichnis „6502“ enthält auch Dateien und ein weiteres Verzeichnis namens „ASM“. In diesem Verzeichnis befinden sich auch Dateien. Einige Dateien sind schreibgeschützt.

Wir fügen auch den Befehl -v (verbose) hinzu, damit rm uns sagt, was zu tun ist.

rm -rfv migrierter Code

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

In der Ausgabe können wir sehen, dass die Dateien entfernt wurden und wenn sie leer sind, werden auch die Verzeichnisse entfernt.

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Vermeiden Sie Fehler bei der Verwendung von rm

Leerzeichen und andere seltsame Zeichen in Dateinamen können Probleme verursachen. Dateinamen, die beispielsweise mit einem Bindestrich „-“ beginnen, können mit Befehlszeilenoptionen verwechselt werden. Wenn wir eine Datei namens „-contributors.txt“ haben, versucht rm, den Namen als eine Zeichenfolge von Befehlszeilenoptionen zu verarbeiten.

Lesen Sie auch:  20 beste leichte Linux-Distributionen von 2021

Da rm keine Option namens „-c“ hat, schlägt die Befehlszeilenanalyse fehl und die Datei wird nicht gelöscht. Um eine Datei zu löschen, müssen Sie ihr ein „./“ voranstellen, um einen Pfad zu ihr bereitzustellen.

rm-contributors.txt
rm./-contributors.txt

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Leerzeichen in Dateinamen sind ebenfalls ein Problem. Geben Sie entweder den gesamten Dateinamen in Anführungszeichen ein oder verwenden Sie die Tabulatortaste, um den Dateinamen für sich selbst in die Befehlszeile einzufügen, wobei Sie Leerzeichen vermeiden. Wenn Sie keine dieser Optionen verwenden, behandelt rm jeden Teil des Dateinamens als eine einzelne Datei.

Hier haben wir zwei Dateien, eine namens Backup und die andere namens Delete Backup. Wir können das Problem mit diesen Dateinamen mit ls veranschaulichen. Wenn wir versuchen, ls in der Backup-to-Delete-Datei zu verwenden, und wir den Dateinamen nicht maskieren oder verschieben, schlägt der Befehl fehl.

ls -hl Sicherung zum Löschen

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

ls beschwert sich, dass es die Dateien namens "to" oder "delete" nicht finden kann, aber es findet eine Datei namens "backup". Das wird auch rm tun. Es beschwert sich, dass zwei Dateien fehlen, und löscht dann die Datei namens „Backup“, die wir nicht wollten.

rm-Sicherung zu löschen

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

rm denkt, dass es mit drei Dateien funktioniert, 'backup', 'to' und 'delete'. Es beschwert sich, dass es To und Delete nicht finden kann, aber es findet Backup und löscht es stillschweigend.

Wenn Sie den Dateinamen in Anführungszeichen setzen, kann rm die richtige Datei löschen.

rm 'Sicherung zum Löschen'

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Sie können Leerzeichen auch mit einem umgekehrten Schrägstrich „\“ maskieren:

rm backup\to\delete

Linux rm-Befehl: Alles, was Sie wissen müssen – %categories

Wenn Sie die Registerkarte „Tab-Vervollständigung“ verwenden, um Dateinamen einzugeben, werden diese bei Bedarf automatisch maskiert.

Was ist persönliche Schutzausrüstung?

Im Gegensatz zu echten Kettensägen gibt es keine persönliche Schutzausrüstung, die Sie mit Ihrem Arm verwenden können.

Sie können Ihre Syntax mit ls überprüfen, bevor Sie es mit rm versuchen, und den interaktiven Modus verwenden, damit Sie entscheiden können, was gelöscht wird.

Abgesehen davon ist es eine Übung, bis Sie sich wohl und sicher fühlen. Der sicherste Weg, dies zu tun, besteht darin, eine Reihe von Opferdateien in ein Verzeichnis zu kopieren und an ihnen zu üben.

Sie können auch mögen