Wie lösche ich das folgende Verzeichnis?
Ich tippte:
rmdir lampp
Dieser Fehler tritt auf:
rmdir: failed to remove `lampp': Directory not empty
Gibt es einen Befehl zum Löschen aller Dateien im Verzeichnis und zum Löschen des Verzeichnisordners?
command-line
naveen
quelle
quelle
rm -r lampp
machen reicht.Antworten:
Verwenden Sie den folgenden Befehl:
Es löscht alle im Verzeichnis enthaltenen Dateien und Ordner
lampp
.Falls der Benutzer keine Berechtigung zum Löschen des Ordners hat:
Fügen Sie
sudo
am Anfang des Befehls Folgendes hinzu:Anderenfalls wird
sudo
Ihnen ohne Ihre Rückgabe die Erlaubnis verweigert. Es wird empfohlen,-f
beim Löschen eines Verzeichnisses Folgendes zu vermeiden:Hinweis: Dies setzt voraus, dass Sie sich bereits auf derselben Ebene des Ordners befinden, den Sie im Terminal löschen möchten. Andernfalls gilt Folgendes:
Zur Info: Sie können Buchstaben verwenden
-f
,-r
,-v
:-f
= um nicht existierende Dateien zu ignorieren, niemals auffordern-r
= um Verzeichnisse und deren Inhalte rekursiv zu entfernen-v
= zu erklären, was getan wirdquelle
--no-preserve-root
zu .Bei einem solchen rekursiven Befehl müssen Sie jedoch vorsichtig sein, da es leicht möglich ist, aus Versehen viel mehr zu löschen, als Sie beabsichtigt haben.
Es ist eine gute Idee, immer zu überprüfen, in welchem Verzeichnis Sie sich befinden und ob Sie den Befehl richtig eingegeben haben, bevor Sie die Eingabetaste drücken.
Sicherere Version
Das Hinzufügen
-i
macht es ein wenig sicherer, da Sie bei jedem Löschen dazu aufgefordert werden. Wenn Sie jedoch viele Dateien löschen, ist dies nicht sehr praktisch. Trotzdem können Sie dies zuerst versuchen.Anmerkung zur
-f
Option:Viele Leute schlagen vor
-f
, es zu verwenden (in-Rf
oder zu kombinieren-rf
) und behaupten, dass es lästige Eingabeaufforderungen beseitigt. Im Normalfall benötigen Sie es jedoch nicht, und durch die Verwendung werden einige Probleme unterdrückt, über die Sie wahrscheinlich Bescheid wissen möchten. Wenn Sie es verwenden, werden Sie nicht gewarnt, wenn Ihre Argumente ein nicht existierendes Verzeichnis oder eine nicht existierende Datei enthalten: rm wird einfach nichts löschen. Versuchen Sie es in der Regel zunächst ohne-f
: Wenn es Probleme mit Ihren Argumenten gibt, werden Sie feststellen. Wenn Sie zu viele Aufforderungen zu Dateien ohne Schreibzugriff erhalten, können Sie es mit versuchen-f
. Alternativ können Sie den Befehl von einem Benutzer (oder dem Superuser, der sudo verwendet) ausführen, der über die vollständigen Berechtigungen für die zu löschenden Dateien und Verzeichnisse verfügt, um diese Eingabeaufforderungen zu verhindern.quelle
-r
können ebenfalls verwendet werden und haben hier den gleichen Effekt. Ich verwende normalerweise nur Großbuchstaben,-R
da diese mit anderen Befehlen übereinstimmen, die ich verwende, z. B.grep
undchmod
, von denen einige nur die Großbuchstabenform unterstützen.rm -ir FOLDER
.Es gibt viele Möglichkeiten, ein Verzeichnis über den CLI-Modus zu löschen. Es kommt darauf an, wie Sie sich wohlfühlen.
-r
= entferne Verzeichnisse und deren Inhalte rekursiv-v
= erklären, was getan wird-f
= ignoriere nicht existierende Dateien, bitte nie fragenWenn Sie neu in Linux sind, verwenden Sie die Befehlsseiten (
man rm
) für mehr Optionen und mehr Genauigkeit.quelle
Ich hatte heute einige Probleme damit, aber ich habe es mit sudo überwunden.
Vorsichtsmaßnahme: Stellen Sie sicher, dass Sie das gesamte Objekt löschen möchten, bevor Sie den folgenden Befehl verwenden.
Ich habe dies heute erfolgreich getan und viele nicht leere Verzeichnisse entfernt, von denen ich bestätigt habe, dass ich sie nicht brauche / brauche.
Ich benutze 14.04 LTS
quelle
Übrigens wollte ich persönlich ein Verzeichnis mit einer schreibgeschützten Datei (.git und Unterverzeichnisse) löschen und erkannte schließlich, dass ich auch ein Superuser werden musste, um diese Dateien erfolgreich zu löschen. Folgendes habe ich getan:
quelle
sudo su
hier brauchst . Stellen Sie demrm
Befehl einfach Folgendes voransudo
. Aus Sicherheitsgründen ist es eine gute Praxis (gemäß den Befürwortern von sudo), nicht in einer Root-Eingabeaufforderung zu bleiben, wenn dies nicht erforderlich ist.sudo rm -r
./directory_name
) eingeben, damit kein Zweifel darüber besteht, welches Verzeichnis Sie löschen.