In Bash ist alles, was ich weiß, das
rmdir directoryname
entfernt das Verzeichnis jedoch nur, wenn es leer ist. Gibt es eine Möglichkeit, das Entfernen von Unterverzeichnissen zu erzwingen?
In Bash ist alles, was ich weiß, das
rmdir directoryname
entfernt das Verzeichnis jedoch nur, wenn es leer ist. Gibt es eine Möglichkeit, das Entfernen von Unterverzeichnissen zu erzwingen?
Antworten:
Der folgende Befehl erledigt das für Sie. Seien Sie jedoch vorsichtig.
rm -rf directoryname
rm: invalid option -- r
Fehlermeldung, wenn ich versuche, ein Verzeichnis mit rm -r <Verzeichnisname> zu löschen.
rm -rf directoryname
coz zu verwenden, da Sie nicht möchten, dass Ihr Skript die Ausführung anhält, da es auf Benutzereingaben wartet. Natürlich müssen Sie darauf achten, dass das Löschen des Verzeichnisses keinen Schaden anrichtet.
Wenn dies rm -rf directoryname
fehlschlägt, versuchen Sie es mit rm -R -f directoryname
, oder rm --recursive -f directoryname
.
Wenn Sie damit kein Glück haben, sollten Sie in Betracht ziehen, rm neu zu installieren oder die Shells zu wechseln.
man rm
, um meine Optionen zum rekursiven Löschen und die Force- Optionen anzuzeigen .
rm
Manpage aufgelistet -r
? Was tut es? (Versuchen Sie es in einem Verzeichnis, das Sie nur zu Testzwecken erstellt haben und in dem sich nur Dummy-Dateien (und möglicherweise Unterverzeichnisse) befinden.) Welches Betriebssystem verwenden Sie?
rm -r
dies nicht funktioniert, ist dies ein Problem mit dem Betriebssystem und nicht mit der Shell. (Genau genommen handelt es sich um ein Problem mit der von rm
Ihnen verwendeten Version. Sie können es also beheben, indem Sie eine andere Version von installieren rm
oder Ihr System durchsuchen, um festzustellen, ob Sie bereits eine andere Version von rm
in einem anderen Verzeichnis als haben /bin
.)
man rm
in meinem Terminal lief, gab es mir eine Textdatei mit dem less
Text-Viewer. Ich habe im Bildlauf einen eingerückten Eintrag mit einem Ganzen gefunden, bei dem die Optionen -R und --recursive mit der Option -r kombiniert wurden , was bedeutet, dass alle diese Argumente identisch sind.
sudo rm -r directoryName
? Die ungeschriebenen Regeln der Grundbefehle sehen vor, -r
dass ein Programm rekursiv auf jeder Datei Ihres Dateisystems ausgeführt werden kann (von wo immer Sie wollen!) Und dass -f Dinge mit Nachdruck tut, auch wenn es gefährlich ist . 'cd', 'mv', 'ls' halten dieses Prinzip meistens für richtig. ls -r /
wird ein Duzie sein und cp -rf / /dev/null
alles auf Ihrem Dateisystem zerstören. <- Führe diesen Befehl niemals aus!
rm -r directoryname
.