Centos 中如何删除目录的内容

Centos 中如何删除目录的内容

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

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

我尝试使用该rm -rf 命令,但这也会删除容器文件夹。

答案1

删除文件夹的内容。

rm -r MYFOLDER/*

答案2

您可以使用:

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

这也会删除隐藏文件和文件夹。如果 MYFOLDER 目录中的文件太多,则应运行:

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

答案3

我认为最简单的方法是删除整个目录(包括其本身),然后重新创建文件夹。在某些情况下,这不是一个好的解决方案(例如无人值守的脚本或更复杂的管道),但您没有说明为什么不想删除该文件夹。

rm -rf foldername
mkdir foldername

哎呀。你确实指定了(我重读了你的帖子)。好吧,删除并重新创建仍然可行。特别是如果你将命令串联在一起,例如

rm -rf foldername && mkdir foldername

或者

rm -rf foldername; mkdir foldername

答案4

尝试rm -r -f filename使用 CentOS 6.x

相关内容