要删除目录,您需要使用命令rmdir
而不是rm
。我了解到 unix 将所有内容视为文件。那么rm
无法删除任何类型的文件的原因是什么?
答案1
如果目录不为空,则不应将其“当做文件”删除,原因似乎相当明显:否则,该目录中的文件将不再具有有效路径。这解释了为什么您需要递归删除(-r
)或在删除之前检查目录是否为空(rmdir
,或者,在 Unix 的某些分支中为rm -d
)。
根据维基百科,引用Unix 8 rm 手册页,在某些旧版本的 Unix 中,rm
如果目录为空,该命令将会删除目录,因此这更多的是某些 Unix 版本的用户交互的选择,而不是要求。