Wie entferne ich einen Ordner?

71

Ich bin ein neuer Benutzer und versuche, einen bestimmten Ordner zu entfernen. Ich benutze sudo rm /path/, aber es funktioniert nicht. Was ist der richtige Befehl?

Es handelt sich um eine Datei, die ich entfernen möchte, aber ich erhalte die Meldung, dass sie leer ist.

Carl
quelle

Antworten:

89

Stellen Sie sicher, dass der Ordner wirklich leer ist (versteckte Dateien / Ordner könnten sich dort befinden). Schauen Sie sich den Dateiinhalt noch einmal mit an

sudo ls -lha /path/

Wenn Sie absolut sicher sind, dass es nichts enthält, was Sie haben möchten (einschließlich Unterverzeichnisse), löschen Sie es mit

sudo rm -r -f /path/
  • -rIst für rekursiv , daher werden Ordner und Unterordner gelöscht, auch wenn sie nicht leer sind
  • -fist für Gewalt (dies könnte unnötig sein).
Phoibos
quelle
@EliranMalka Das -fFlag ist nicht erforderlich rm, um Elemente zu löschen, die direkt im angegebenen Ordner enthalten sind. Ich nehme an, Sie meinen dies mit "Adressieren des Ordnerinhalts". Stattdessen -fsteht für Kraft , so dass rmnie zur Bestätigung aufgefordert , selbst wenn die Datei gelöscht wird keine Schreibberechtigung hat ( rm: remove write-protected regular file ‘foo’?), und was auch rmnicht auf einem Versuch zu warnen , eine Datei zu löschen , die bereits nicht existiert. Es ist am besten, die -fFlagge nur dann zu verwenden, wenn sie wirklich benötigt wird. rm -rohne -fabsolut nicht „adressiert die Ordnerinhalte.“
Eliah Kagan
wat? Ich weiß ehrlich gesagt nicht, was ich gesagt habe ... vergessen Sie es :)
Eliran Malka
ich musste das leitende / entfernen, um es für mich arbeiten zu lassen. dh:sudo rm -r -f path/
Elon Zito
15

Beachten Sie, dass der Ordner leer sein sollte, und führen Sie dann den folgenden Befehl aus

rmdir directory_name

Beachten Sie außerdem, dass der von Ihnen eingegebene Befehl nicht mit einem Schrägstrich (/) beginnen sollte, es sei denn, der Ordner befindet sich unter root.

Die letzte Möglichkeit und Sie sollten sehr vorsichtig sein, wenn Sie diese verwenden, ist das Entfernen des betreffenden Verzeichnisses einschließlich aller anderen Dateien / Verzeichnisse zu erzwingen.

rm -rf directory_name

Prost.

tmwanik
quelle
11

Für einen Anfänger würde ich nicht empfehlen, sich daran zu gewöhnen, rm -Rfoder zu verwenden rm -r -f. Dies wird Sie früher oder später ins Gesicht beißen. Sicherer wäre es, einen systemweiten Alias ​​zu erstellen. Öffnen Sie das Terminal: Ctrl+ Alt+ T, und geben Sie Folgendes ein:

alias rm='rm -i'

So werden Sie aufgefordert, alle Ihre Urlaubsfotos aus Versehen zu löschen. Die zweite Empfehlung, die ich hinzufügen möchte, ist zu verwenden rmdir, sie wird sich über nicht leere Verzeichnisse beschweren und das ist genau das, was Sie als Neuling wollen.

Aber im Sinne der Frage ist die Antwort wie hier schon angegeben, -fum einen Ordner zu löschen.

Glenn Plas
quelle
3

Wenn Sie sicher sind, dass das Verzeichnis existiert, dann:

(sudo) rm -rfv /path/

So löschen Sie das gesamte Verzeichnis in Ihren Ordnern und Dateien

KakashiSan
quelle
1
Verwenden Sie keine Leerzeichen in Pfaden, da Sie möglicherweise versuchen, das gesamte Dateisystem rekursiv von/
cauon 17.10.12
arbeitete für mich. Ich habe zum Entfernen des Hadoop-Ordners <code> sudo rm -rfv hadoop / </ code>
Sumit Ramteke
2

Wenn Sie alle Dateien im Verzeichnis löschen möchten und nur das Verzeichnis oder einige Dateien behalten möchten, verwenden Sie (mit dem -iFlag können Sie die Datei behalten oder löschen).

rm -i *

-i ist für interaktive und fordert Sie jedes Mal auf, eine Datei zu löschen.

Wenn Sie Unterverzeichnisse im übergeordneten Verzeichnis löschen müssen, verwenden Sie:

rm -rf NameOfDirectory
OmiPenguin
quelle