我如何删除目录中的所有文件,但不是子文件夹,或在Linux中的内容?

我有一个直接调用/caching有大约一百万个文件。

我重构了caching系统,将caching文件放入/ cache目录中的不同文件夹中。 新的caching文件已经被写入这些子文件夹。 所以我想删除/ cache目录里的所有不在任何子文件夹中的文件。

我将如何在SSH中做到这一点?

你可以用find命令来完成。

 find /cache -maxdepth 1 -type f -exec rm -rf {} \; 

我build议看一下在执行find-exec rm之前要删除的文件列表:

 find /cache -maxdepth 1 -type f 

这将给你的文件列表而不删除它们。 再次; 请谨慎使用与-exec rm组合,我不能够清楚:)。

你想删除caching文件夹中的所有文件,而不删除caching文件夹中的目录中的文件? 如果是,可以使用find: find /cache -maxdepth 1 -type f -delete -maxdepth限制深度,不要删除文件夹中的文件