一个linux技术难题,如何打开一个文件特别多的文件夹?
- GleeU硬盘是exfat的,单个文件夹下有50w个文件,现在ls、mv、cp、cd命令都无法正常使用,进都进不去。
其他目录正常,磁盘没有损坏
想把这个文件夹里的文件分散成10个文件夹,降低文件系统的负担 - lance6716那估计只能自己维护文件系统了
- honking之前维护过一次nas上的文件,文件也是比较多,但是可能没你那么多。
使用find命令把文件列表输出到文件中,然后写脚本对文件中的路径做处理。
find可能会执行很久,挂后台看看能不能执行完 - songco你要做什么操作
如果只是ls
试试 ls -U 不排序应该会快很多
码农的做法是写代码处理? From dhchvgxfxv - zengxin用脚本很容易,但是应该都会很慢
- GleeU回复3#honking
find直接挂了 iOS fly ~ - GleeU回复4#songco
一样挂 python也hold不住 试过了 iOS fly ~ - GleeU回复5#zengxin
系统常用命令都挂 脚本只是顺序调用命令 iOS fly ~ - lyf6529262ls | head -n 能用吗
- happyd8699整盘镜像到ssd
- 神狼赫萝find /path -mtime +30 | xargs -I '{}' mv {} /path试一下这个,时间根据每天的文件的生成数量调整,可以先find /path -mtime +30 | wc -l 统计看看有多少
- 78588371才50W个文件都进不去了?linux不是号称全面领先windows么,
我记得win可以单个ntfs卷最多支持4294967295个文件 - GleeU回复12#78588371
win也完蛋了 iOS fly ~ - GleeU
- weiyanggeexfat怎么可能领先ntfs。
上个礼拜帮客户搞dfsr,文件数量是千万级别的。 - nahcoiii试试python的glob.iglob或者os.path.iwalk生成迭代器处理,迭代器会比较省内存。
- GleeU回复16#weiyangge
整个系统千万级还好 我特么是犯傻 放一个文件夹了 还是移动硬盘 iOS fly ~ - forloppp我只处理过windows下单文件夹1T文件的,也就10w个文件
- lokta回复12#78588371
lz说了是extfat格式 iOS fly ~ - weiyangge单个目录下的,ntfs没问题,dfsr爆了,因为那个service有个db,用一个32位变量做index
- klizetexfat 是user space driver
- liffey在爬一个晚上喽小尾巴~
- 0987363
- skyyi_hong硬盘格式为exfat iOS fly ~
- 好人卡收集器exfat直接在win上打开不好?
- GleeU回复26#好人卡收集器
i7 8700k都崩了 iOS fly ~ - 波多野结衣没见过,围观一下
- klizet先dd一下保护现场
- hotlee硬盘sata挂电脑上试试?
- z16166用C/C++调用OS API opendir/readdir,每搞一定数目,就处理掉,不要攒到50w个再处理。
如果这都不行,那就是linux自己的问题了,硬盘挂到别的OS下处理吧。 - GleeU回复31#tomac
我猜是exfat本身的问题 iOS fly ~ - am99我觉得迭代器的思路比较ok
- xain