Ich bin neu bei UNIX (MAC OS X Bourne Shell POSIX). Ich verstehe, rmdir
dass nur ein leeres Verzeichnis entfernt wird, aber unter welchen Umständen möchten Sie es tatsächlich verwenden rmdir <directory name>
und nicht nur rm -r <directory name>
? Gibt es einen intelligenten Anwendungsfall, den ich nicht verstehe und dessen Kenntnis meine Programmierung ein wenig verbessern würde? Danke.
Antwort1
rmdir
ist sicherer: Es weigert sich, ein Verzeichnis zu entfernen, wenn es Dateien enthält. Was ist, wenn Sie versuchen, das falsche Verzeichnis zu entfernen, oder das Verzeichnis noch (möglicherweise versteckte) Dateien enthält, die Sie benötigen?
es gibt auchhistorische Gründe: Am Anfang rm
hatte das Programm keinen -r
Schalter, daher rmdir
war es notwendig, Verzeichnisse zu entfernen. Damals rmdir
war es ein nicht triviales Programm, heute ist es jedoch nur ein Wrapper für die rmdir(const char*)
C-Funktion.
Antwort2
Ich verwende rmdir
, wenn ich ein Verzeichnis entferne, das icherwartenleer sein, damit es fehlschlägt, wenn noch Dateien darin sind. rm -rf
Wenn ich etwas falsch eingebe, werden möglicherweise Dateien gelöscht, die ich behalten möchte.