在我们的Datalake(Hadoop / Mapr / Redhat)中,我们有一个包含超过40M文件的目录。我们无法运行ls命令。
有没有其他方法可以查看此文件夹的内容? 如何在没有扫描的情况下从中清除旧文件?
答案 0 :(得分:1)
这就是为什么将多个文件存储在一个目录中是一个非常糟糕的主意。至少应该根据哈希将这些分区为随机目录名称,其中每个级别最多有1000个条目。
话虽这么说,find
工具可能能够处理它,它有一个-delete
选项来处理满足某些条件的文件,例如:
find /crazy-big-directory -mtime 4 -delete
这将删除修改时间超过四天的所有文件。
在使用-delete
选项武装和查找`find`命令之前,始终测试,测试并再次测试。 备份任何使命的关键数据。find
会删除您的整个驱动器,如果您告诉它,它甚至不会询问您是否确定。