如何删除目录中的所有内容?

如何删除目录中的所有内容?

如何删除目录中的所有内容,包括隐藏文件和目录?

现在,我使用以下内容:

rm -rf *
rm -rf .*

答案1

简单直接:

find -delete 

包括目录和隐藏文件。至少 gnu-find 知道-delete,你的find可能会有所不同。

答案2

最好的答案是:不要这样做。递归删除目录本身,然后将其重新创建为空目录。对于其他人来说,这更可靠、更容易理解您想要做什么。当您重新创建目录时,它可能具有不同的所有者、组和权限。如果这些很重要,请小心。另外,如果任何正在运行的程序在目录上打开了文件句柄(描述符),那么您将不想删除它。如果这些特殊情况都不适用,那么删除整个目录会更简单。

答案3

rm -rf -- * .[!.]* ..?*

如果这三个模式中的每一个都不匹配,那么它就会扩展到自身,但这不是问题,因为我们想要匹配所有内容并rm -f忽略不存在的参数。

注意.*会匹配..

答案4

如果您在目录中:

cd .. && rm -rf dir && mkdir dir && cd dir

否则:

rm -rf /path/to/dir && mkdir /path/to/dir

相关内容