如何在Centos中删除一个目录的内容

我需要删除CentOS中一个文件夹的所有内容,而不是文件夹本身。

例如:我有一个名为“MYFOLDER”的文件夹,其中包含子文件夹FOLD_1,FOLD_2,FOLD_3,FOLD_4等等,以及一些文件。 我需要删除所有这些文件夹和文件,但不是容器文件夹MYFOLDER。 我需要这个目录来指导以前的过程的结果。

我尝试了rm -rf命令,但是这也删除了容器文件夹。

改为删除该文件夹的内容。

 rm -r MYFOLDER/* 

您可以使用:

 rm -r MYFOLDER/{.[^.],.??*} 

这也会删除隐藏的文件和文件夹。 如果您在MYFOLDER目录中有太多的文件,那么您应该运行:

 ls MYFOLDER/{.[^.],.??*}|xargs rm -r 

在我看来,最简单的方法是删除整个目录,包括自己,然后重新创build文件夹。 有些情况下,这不是一个好的解决scheme(例如无人参与的脚本或更复杂的pipe道),但是您没有指定为什么不想删除文件夹。

 rm -rf foldername mkdir foldername 

哎呀。 你确定(我重新读你的文章)。 那么,删除和重新创build仍然可以工作。 特别是如果你把命令链接在一起,就像

 rm -rf foldername && mkdir foldername 

要么

 rm -rf foldername; mkdir foldername 

怎么样

 cd MYFOLDER find . | rm -rf 

这也会删除隐藏文件(以点开头的文件)。

尝试rm -r -f filename与CentOS 6.x一起工作

我强烈build议这个替代scheme(它也删除名称空间的文件):

 find MYFOLDER/ -type f -print0 | xargs -0 rm -f 
 find FOLDER/ -type f -exec rm -f {} \; | rm -r FOLDER/* 

应该做的伎俩