Verhalten von "rm -r"


-1

Bis jetzt habe ich Ubuntu verwendet, und das Verhalten von rmfür Verzeichnisse war das folgende:

  • rm -r dirwürde entfernen, dirwenn es leer wäre, und andernfalls einen Fehler geben
  • rm -rf direntfernen würde dirund seinen Inhalt rekursiv

Es ist möglich, dass rmeine Tendenz dahingehend besteht, dass sich etwas so verhält, aber ich habe keinen Zugriff mehr auf mein Ubuntu-System, sodass ich es nicht beurteilen kann.

Jetzt bin ich zu Linux Mint gewechselt, und das Verhalten ist anders: rm -rEntfernt ein Verzeichnis und seinen Inhalt rekursiv, genau wie rm -rfunter Ubuntu.

Ich habe in rmder Manpage von Linux Mint nach einer Kombination von Optionen gesucht , die das Ubuntu-Verhalten reproduzieren, konnte aber keine finden.

Meine Fragen sind:

  • Warum unterscheidet sich das Verhalten von rmLinux-Distributionen? Ist es nicht ein Standardwerkzeug, das überall gleich sein sollte?
  • Wie erreiche ich das am Anfang der Frage beschriebene Verhalten?

Dies ist kein Standardverhalten für rm. Ich habe mich unter Ubuntu, Red Hat, SuSE oder einer anderen von mir verwendeten Mainstream-Distribution noch nie so verhalten. Bist du sicher, dass du stattdessen nicht rmdir benutzt hast?
Rob

@rob: Ganz sicher. Ich werde das nächste Mal untersuchen, wenn ich auf einem Ubuntu-System mit diesem Verhalten bin.
HighCommander4

Antworten:


1

Es ist möglich, dass rmein Alias ​​für etwas auf Ihrem Ubuntu-System vorliegt (z. B. in .bashrc). rm -rlöscht das Verzeichnis und dessen Inhalt für mich unter Ubuntu 12.04. rm -fMuss für Fälle verwendet werden, in denen für den Inhalt des Verzeichnisses unterschiedliche Berechtigungen gelten (z. B. schreibgeschützte Dateien).


Haben Sie eine Vorstellung davon, auf welche rmWeise auf meinem Ubuntu-System ein Alias ​​aufgetreten sein könnte, um das von mir beschriebene Verhalten zu erzielen? Ich habe man rmauf meinem Linux Mint-System nachgesehen, aber keine Optionen gefunden, die zu diesem Verhalten führen würden.
HighCommander4

Welchen Fehler haben Sie beim Ausführen rm -r <dir>eines Verzeichnisses mit Inhalten erhalten?
Gurkaran Singh

Der Fehler war: rm: cannot remove '<dir>': Directory not empty.
HighCommander4

Vielleicht könnte es ein Dateisystemfehler auf Ihrem Ubuntu-Rechner sein? Siehe: superuser.com/questions/383221/... und linuxquestions.org/questions/linux-general-1/...
Gurkaran Singh

1
Ich denke, Standardverhalten ist nur, um diesen Fehler zu werfen, wenn eine Datei verwendet wird.
Raystafarian

1

Verwenden Sie den rmdirBefehl, es werden nur leere Verzeichnisse entfernt

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.