Warum entfernt RM keine Verzeichnisse?

1928
Jonas

Um Verzeichnisse zu löschen, müssen Sie den Befehl rmdiranstelle von verwenden rm. Ich habe gelernt, dass Unix alles als Datei sieht. Was ist der Grund, warum rmkeine Datei gelöscht werden kann?

-1

1 Antwort auf die Frage

2
Joce

Warum Sie ein Verzeichnis nicht wie in einer Datei löschen sollten, wenn es nicht leer ist, liegt auf der Hand: Dann haben die Dateien in diesem Verzeichnis keinen gültigen Pfad mehr. Dies erklärt, warum Sie entweder rekursiv löschen ( -r) müssen oder überprüfen, ob das Verzeichnis leer ist, bevor Sie löschen ( rmdiroder in einigen Zweigen von Unix rm -d).

Laut Wikipedia, die Unix 8 rm-Manpage zitiert, löste der rmBefehl in einigen alten Unix-Versionen Verzeichnisse, wenn sie leer waren. Dies ist eher eine Wahl der Benutzerinteraktion einiger Unix-Versionen als eine Anforderung.