我需要删除 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