一个目录中超过40Milions的文件(linux)

时间:2017-11-10 17:13:58

标签: linux hadoop

在我们的Datalake(Hadoop / Mapr / Redhat)中,我们有一个包含超过40M文件的目录。我们无法运行ls命令。

有没有其他方法可以查看此文件夹的内容? 如何在没有扫描的情况下从中清除旧文件?

1 个答案:

答案 0 :(得分:1)

这就是为什么将多个文件存储在一个目录中是一个非常糟糕的主意。至少应该根据哈希将这些分区为随机目录名称,其中每个级别最多有1000个条目。

话虽这么说,find工具可能能够处理它,它有一个-delete选项来处理满足某些条件的文件,例如:

 find /crazy-big-directory -mtime 4 -delete

这将删除修改时间超过四天的所有文件。

在使用-delete选项武装和查找`find`命令之前,始终测试,测试并再次测试备份任何使命的关键数据find会删除您的整个驱动器,如果您告诉它,它甚至不会询问您是否确定。