一个linux技术难题,如何打开一个文件特别多的文件夹?

  • G
    GleeU
    硬盘是exfat的,单个文件夹下有50w个文件,现在ls、mv、cp、cd命令都无法正常使用,进都进不去。
    其他目录正常,磁盘没有损坏

    想把这个文件夹里的文件分散成10个文件夹,降低文件系统的负担
  • l
    lance6716
    那估计只能自己维护文件系统了
  • h
    honking
    之前维护过一次nas上的文件,文件也是比较多,但是可能没你那么多。
    使用find命令把文件列表输出到文件中,然后写脚本对文件中的路径做处理。
    find可能会执行很久,挂后台看看能不能执行完
  • s
    songco
    你要做什么操作

    如果只是ls

    试试 ls -U 不排序应该会快很多

    码农的做法是写代码处理? From dhchvgxfxv
  • z
    zengxin
    用脚本很容易,但是应该都会很慢
  • G
    GleeU
    回复3#honking
    find直接挂了 iOS fly ~
  • G
    GleeU
    回复4#songco
    一样挂 python也hold不住 试过了 iOS fly ~
  • G
    GleeU
    回复5#zengxin
    系统常用命令都挂 脚本只是顺序调用命令 iOS fly ~
  • l
    lyf6529262
    ls | head -n 能用吗
  • h
    happyd8699
    整盘镜像到ssd
  • 神狼赫萝
    find /path -mtime +30 | xargs -I '{}' mv {} /path试一下这个,时间根据每天的文件的生成数量调整,可以先find /path -mtime +30 | wc -l 统计看看有多少
  • 7
    78588371
    才50W个文件都进不去了?linux不是号称全面领先windows么,

    我记得win可以单个ntfs卷最多支持4294967295个文件
  • G
    GleeU
    回复12#78588371
    win也完蛋了 iOS fly ~
  • G
    GleeU
    回复11#神狼赫萝
    这五十万是一个晚上爬的数据 我试试
    iOS fly ~
  • w
    weiyangge
    exfat怎么可能领先ntfs。
    上个礼拜帮客户搞dfsr,文件数量是千万级别的。
  • n
    nahcoiii
    试试python的glob.iglob或者os.path.iwalk生成迭代器处理,迭代器会比较省内存。
  • G
    GleeU
    回复16#weiyangge
    整个系统千万级还好 我特么是犯傻 放一个文件夹了 还是移动硬盘 iOS fly ~
  • f
    forloppp
    我只处理过windows下单文件夹1T文件的,也就10w个文件
  • l
    lokta
    回复12#78588371
    lz说了是extfat格式 iOS fly ~
  • w
    weiyangge
    单个目录下的,ntfs没问题,dfsr爆了,因为那个service有个db,用一个32位变量做index
  • k
    klizet
    exfat 是user space driver
  • l
    liffey
    在爬一个晚上喽小尾巴~
  • 0
    0987363
    回复7#GleeU


    换c试试,用底层一点的api看看
  • s
    skyyi_hong
    硬盘格式为exfat iOS fly ~
  • 好人卡收集器
    exfat直接在win上打开不好?
  • G
    GleeU
    回复26#好人卡收集器
    i7 8700k都崩了 iOS fly ~
  • 波多野结衣
    没见过,围观一下
  • k
    klizet
    先dd一下保护现场
  • h
    hotlee
    硬盘sata挂电脑上试试?
  • z
    z16166
    用C/C++调用OS API opendir/readdir,每搞一定数目,就处理掉,不要攒到50w个再处理。

    如果这都不行,那就是linux自己的问题了,硬盘挂到别的OS下处理吧。
  • G
    GleeU
    回复31#tomac
    我猜是exfat本身的问题 iOS fly ~
  • a
    am99
    我觉得迭代器的思路比较ok
  • x
    xain
    不重要的话扔了吧。

    今天晚上的新数据加上时间到分钟的目录。HiPDA·NG