
Meine Kommandozeilenkenntnisse sind also ein wenig eingerostet und ich habe Probleme, mir die Bedeutungsunterschiede der Flags in den Betriebssystemen der verschiedenen Distributionen zu merken. Außerdem kann ich mich nicht wirklich an den ganzen Fachjargon erinnern, daher erscheinen mir die Manpages ziemlich unklar.
Ich verwende Mac OS X und möchte ein Verzeichnis samt Inhalt löschen. Was mich hauptsächlich beunruhigt, ist, dass buchstäblich ALLE Verweise im Verzeichnis gelöscht werden, einschließlich ../ und ../, <everything else, including ../'s own ../>
und dann mein gesamtes System komplett durcheinandergebracht wird.
Welche davon möchte ich ausführen?
$ rm -R dir-name/
oder
$ rm -r
Antwort1
Wenn Sie löschen möchten foo/bar
, lautet der gewünschte Befehl rm -r foo/bar
(vorausgesetzt, Sie arbeiten in dem Verzeichnis, das enthält foo
). Dadurch werden bar
alle darin enthaltenen Elemente und gelöscht, foo
alle anderen Elemente und bleiben jedoch unverändert.
rm -r
ist clever genug, nicht zu rekursieren ../
– sonst rm -r
würde every alles löschen.
Antwort2
Wenn du läufst:
rm -r
ohne ihm ein Verzeichnis-/Dateiargument zu übergeben, passiert nichts.
Es gibt keinen Unterschied zwischen:
rm -r xyz
rm -R xyz
rm -r xyz/
usw.
Antwort3
Sie können auch -f hinzufügen, wenn Sie keine Bestätigungsaufforderung wünschen:
rm -rf xyz