GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist sudo rm -rf unter Linux und ist es gefährlich?

Einführung

Terminalbefehle sind für neue Linux-Benutzer einschüchternd. Etwas auszuführen, ohne das Ergebnis zu kennen, kann unwiderrufliche Folgen haben. Unter Linux sind gefährliche Befehle oft das Ergebnis eines einfachen Tippfehlers.

Zu wissen, was jeder Teil eines Linux-Befehls tut und welche potenziellen Gefahren es gibt, hilft, solche Situationen zu vermeiden. Ein typisches Beispiel ist sudo rm -rf Befehl, der sehr hilfreich ist, wenn er richtig verwendet wird, aber zu Konsequenzen führen kann, wenn er falsch eingegeben oder falsch verwendet wird.

In diesem Artikel wird sudo rm -rf erläutert Befehl in Linux, was er tut und wie man ihn richtig verwendet.

Voraussetzungen

  • Zugriff auf die Befehlszeile/das Terminal.
  • Ein Benutzer mit sudo-Berechtigungen.
  • Zu löschende Dateien oder Verzeichnisse.

sudo rm -rf Syntax

Die sudo rm -rf Der Befehl wird von Benutzern oft vermieden und als gefährlicher Befehl bezeichnet. Die Befehlssyntax lautet:

sudo rm -rf <directory or file>

Nachfolgend finden Sie eine Aufschlüsselung der einzelnen Teile des Befehls:

  • sudo - Erhöht die Rechte eines Benutzers auf den Root-Benutzer. Ermöglicht das Entfernen von root-eigenen Dateien und Verzeichnissen.
  • rm - Linux-Befehl zum Entfernen von Dateien oder Verzeichnissen.
  • -r - Die Option zeigt das rekursive Entfernen an und hilft beim Entfernen nicht leerer Verzeichnisse.
  • -f - Die Option ermöglicht das Entfernen ohne Bestätigung, auch wenn eine Datei nicht existiert.
  • <directory or file> - Der Pfad eines Verzeichnisses oder einer Datei, die entfernt werden soll.

Verwenden Sie den Befehl, um Dateien oder nicht leere Verzeichnisse zu entfernen, deren Besitzer root ist.

Führen Sie die folgenden Schritte aus, um einen beispielhaften Anwendungsfall zu erstellen:

1. Öffnen Sie das Terminal (STRG +ALT +T ).

2. Erstellen Sie ein Testverzeichnis mit einem Unterverzeichnis:

sudo mkdir test1 && sudo mkdir test1/test2

Der Ersteller und Eigentümer beider Verzeichnisse ist der Root-Benutzer.

3. Versuchen Sie, das Verzeichnis als normaler Benutzer zu entfernen:

rm -rf test1

Die Ausgabe zeigt die Meldung Berechtigung verweigert.

4. Verwenden Sie den Befehl mit sudo um das Verzeichnis zu entfernen:

sudo rm -rf test1

Der Befehl gibt keine Meldung aus und löscht die Verzeichnisse automatisch ohne Rückfrage.

Warum ist sudo rm -rf gefährlich?

Die sudo rm -rf Befehl ist gefährlich, wenn er nicht richtig verwendet wird. Die rm Der Befehl erledigt seine Aufgabe beim Löschen, aber ein Tippfehler oder die Unkenntnis dessen, was gelöscht wird, kann es gefährlich machen.

Warnung: Führen Sie die Befehle in den folgenden Beispielen nicht aus.

Die folgenden Beispiele zeigen, wie und wann die rm -rf Befehl ist potentiell gefährlich:

1. Beim Entfernen von Verzeichnissen fällt folgender Tippfehler kaum auf:

sudo rm -rf / directory/subdirectory

Das Leerzeichen nach dem ersten Schrägstrich (/ ) übergibt das Stammverzeichnis als Löschparameter. Der Befehl löscht das Stammverzeichnis und alle Unterverzeichnisse aufgrund des -r Flagge. Das Ergebnis ist dasselbe wie beim Ausführen des Folgenden:

sudo rm -rf /

Obwohl die meisten modernen Systeme eine Warnmeldung anzeigen und zusätzliche Optionen erfordern, ist der -f Flag überschreibt in einigen Szenarien die Bestätigung.

2. Löschen mehrerer Dateien mit unterschiedlichen Namen und derselben Erweiterung mit dem Sternzeichen (* ) hilft bei der Übereinstimmung mit null oder mehr Zeichen. Der folgende Tippfehler im Befehl führt zu einem Fehler:

sudo rm -rf * .txt

Ähnlich wie im vorherigen Beispiel wird nach dem Sternchen ein zusätzliches Leerzeichen hinzugefügt (* ) übergibt das Arbeitsverzeichnis und alle seine Unterverzeichnisse zum Löschen. Daher wird der Befehl wie folgt ausgeführt:

sudo rm -rf *

Als Ergebnis wird alles aus dem aktuellen Verzeichnis ohne Warnung gelöscht. Der Befehl löscht das System, wenn das aktuelle Arbeitsverzeichnis root ist (/ ).

3. Eine gefährliche Form von sudo -rm rf kann beim Löschen von Verzeichnissen auftreten, die auf die gleichen Zeichen enden:

sudo rm -rf /* -directory

Aufgrund der Leerzeichen wird der Befehl zu:

sudo rm -rf /*

Da der Befehl Inhalte im Stammverzeichnis entfernt, gibt es keine Warnungen.

Fazit

Nachdem Sie diese Anleitung gelesen haben, kennen Sie die Gefahren der Verwendung von sudo rm -rf . Obwohl der Befehl nicht gefährlich ist und einen Zweck erfüllt, könnte er möglicherweise Ihr gesamtes System oder kritische Daten löschen.

Sehen Sie sich unseren Leitfaden für Sicherung und Notfallwiederherstellung an, um Situationen mit unwiderruflichem Datenverlust zu vermeiden.


Linux
  1. Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

  2. Was ist der Zweck von utmp-, wtmp- und btmp-Dateien in Linux

  3. sudo-Befehlsbeispiele in Linux

  4. Was ist das Äquivalent von Linux's updatedb-Befehl für den Mac?

  5. Wie lautet der Befehl zum Kopieren, Lesen und Entfernen von Dateien unter Linux

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

W-Befehl in Linux (Sehen Sie, wer sich angemeldet hat und was tut)

Grundlagen der Linux-Befehlszeile:sudo

Was sagt mir meine Linux-Eingabeaufforderung?

Was ist Source Command in Linux und wie funktioniert es?

Was ist der Kill-Befehl in Linux?