在 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
它们仅有的如果它们的子目录或本身不包含任何文件。