如何删除目录及其所有内容?

如何删除目录及其所有内容?

在 bash 中我只知道

rmdir directoryname

将删除该目录,但前提是该目录为空。有没有办法强制删除子目录?

答案1

以下命令将为您完成此操作。但如果这不是您的意图,请务必小心,因为这也会删除目录和子目录中的文件。

rm -rf directoryname

答案2

如果rm -rf directoryname失败,请尝试使用rm -R -f directoryname, 或rm --recursive -f directoryname

如果您对这些没有任何运气,您应该考虑重新安装 rm 或切换 shell。

答案3

其他答案显示了如何完全删除目录的内容,但在我看来,它们没有解决文字原帖的问题——也就是说,怎样才能删除子目录(与通常的文件相反)。换句话说,如何删除空目录结构同时保留包含文件的子目录 ?

这可以通过以下方式实现find :

find directoryname -type d -delete

该命令将递归地搜索目录 ( -type d)directoryname以及-delete它们仅有的如果它们的子目录或本身不包含任何文件。

相关内容