V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CUMTProgrammer
V2EX  ›  程序员

删除大型文件有没有什么快速的命令,有 5 个多 T, rm -rf 太慢了

  •  
  •   CUMTProgrammer · Nov 5, 2018 · 11733 views
    This topic created in 2744 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  Nov 6, 2018
    描述错了,是 5T 的很多小文件,不是一个文件,不好意思
    44 replies    2021-06-25 09:30:18 +08:00
    ml1344677
        1
    ml1344677  
       Nov 5, 2018
    买个新硬盘(逃
    lfzyx
        2
    lfzyx  
       Nov 5, 2018   ❤️ 4
    用 rsync --delete 同步一个空文件夹?
    kslr
        3
    kslr  
       Nov 5, 2018 via Android
    这个命令不慢吧 也就几十分钟 也有反应的时间
    likuku
        4
    likuku  
       Nov 5, 2018
    可以格盘么?意思是可以整盘摧毁么?

    mkfs -f /dev/diskAccessPoint 就可以。或者 dd if=/dev/zero of=/dev/diskAccessPoint bs=1M count=1000

    保证很快。
    likuku
        5
    likuku  
       Nov 5, 2018
    删除很多文件的话,rm 会让 参数列表爆炸的,得用 find /forRemovePath/* -exec rm -f {} \;
    CUMTProgrammer
        6
    CUMTProgrammer  
    OP
       Nov 5, 2018
    @ml1344677 买不起,公司给的服务器,里面一堆日志

    @lfzyx 这个效率比 rm 高吗?
    CUMTProgrammer
        7
    CUMTProgrammer  
    OP
       Nov 5, 2018
    @likuku 我想把 home 节点底下的全部删了
    privil
        9
    privil  
       Nov 5, 2018
    5t 都是小文件的话,能删个好几天的
    EXE
        10
    EXE  
       Nov 5, 2018
    dd if=/dev/zero of=/dev/sda
    arrow8899
        11
    arrow8899  
       Nov 5, 2018   ❤️ 1
    同 2L,rsync 删除几百万个文件只要几分钟
    mkdir /data/blank
    rsync --delete-before -d /data/blank/ /home
    SGE
        12
    SGE  
       Nov 5, 2018
    格式化 一切都清爽了
    ltoddy
        13
    ltoddy  
       Nov 5, 2018
    删除大型文件有没有什么快速的命令,有 5 个多 T,rm -rf 太慢了

    这是原文. 我感觉楼主你说错了, 删除是 lazy 的, 大型文件, 也是瞬间删除的, 比如一个 5T 的大型文件,也是一下子就删除了.
    如果你感觉太慢了, 只能说明你电脑当前几乎和死机状态差不多.
    webdisk
        14
    webdisk  
       Nov 5, 2018 via Android
    删过一个 20T 的文件,用了很长时间的,有三分钟 。
    Mithrandir
        15
    Mithrandir  
       Nov 5, 2018
    eatmydata rm -rf
    Mithrandir
        16
    Mithrandir  
       Nov 5, 2018
    补充一下,eatmydata 的原理是操作文件的时候不执行 fsync 和其他同步磁盘的系统调用,从而节省时间
    Mithrandir
        17
    Mithrandir  
       Nov 5, 2018
    再补充一下:我没测过 rm -rf
    Lax
        18
    Lax  
       Nov 5, 2018
    看标题以为是 「 1 个大小为 5T 的“大型文件”」
    DonaidTrump
        19
    DonaidTrump  
       Nov 5, 2018 via iPhone
    晚上执行一下 rm 第二天早晨还不好?
    pkookp8
        20
    pkookp8  
       Nov 5, 2018 via Android
    @ltoddy 我觉得是楼主描述错了
    大型文件->数量非常多的加在一起很大的文件
    答案是不能,mv 然后晚上没人用的时候后台慢慢删
    blless
        21
    blless  
       Nov 5, 2018 via Android
    不要输出 快很多
    msg7086
        22
    msg7086  
       Nov 5, 2018
    删除大型文件,如果是 ext3 的话需要逐个 block 释放,很慢是正常的,而且没有任何解决办法。
    删除大量小文件,rsync 大法比 rm 快得多。
    rrfeng
        23
    rrfeng  
       Nov 5, 2018   ❤️ 1
    又有傻逼说 rsync 删除文件比 rm 快了。
    javaCoder
        24
    javaCoder  
       Nov 5, 2018
    mv fileName /data/null
    mikeguan
        25
    mikeguan  
       Nov 5, 2018 via Android
    @likuku #5 find 用-exec rm 会很慢的 直接用-delete 的速度比它快几十倍
    blueskea
        26
    blueskea  
       Nov 5, 2018
    看见别人用过 truncate,不知道怎么样
    xiaowangwang92
        27
    xiaowangwang92  
       Nov 5, 2018
    往文件中写 0 ~。~
    mmdsun
        28
    mmdsun  
       Nov 5, 2018 via Android
    echo " > files 我清理日志是这样子的。大约 500GB 的日志,很快就清楚了
    402124773
        29
    402124773  
       Nov 5, 2018
    @lfzyx
    这个方法确实很快,我一直都用这个
    3d3ec7a
        30
    3d3ec7a  
       Nov 5, 2018
    mv 到别的地方, 然后后台慢慢 rm ...
    3d3ec7a
        31
    3d3ec7a  
       Nov 5, 2018
    不知道内核对 unlink syscall 是否加锁、sync, 否则可以并行删除, 以利用 SSD 的特性.

    具体用哪个工具不明..
    WEIHUANJIHE
        32
    WEIHUANJIHE  
       Nov 5, 2018
    啊啊啊啊
    ETiV
        33
    ETiV  
       Nov 5, 2018 via iPhone
    find | xargs -P99
    ghhardy
        34
    ghhardy  
       Nov 5, 2018 via Android
    @Lax 其实标题就是这个意思,楼主啥意思得问他自己
    HunterPan
        35
    HunterPan  
       Nov 5, 2018
    必须 echo > file
    zbinlin
        36
    zbinlin  
       Nov 5, 2018
    如果是单个大文件的,可以先用 `truncate -s 0 <FILEN>` 把大小置为 0 再删除;
    如果是很多小文件的,可以用 `rsync` 来删除。
    jasonyang9
        37
    jasonyang9  
       Nov 5, 2018
    学习了。没实践过,跑路前可以试试
    flynaj
        38
    flynaj  
       Nov 5, 2018
    mkfs.exe4 /dev/sda
    flynaj
        39
    flynaj  
       Nov 5, 2018
    mkfs.ext4 /dev/sda
    mondeo
        40
    mondeo  
       Nov 5, 2018 via iPhone
    直接把父目录的硬链接删掉
    Dragonish3600
        41
    Dragonish3600  
       Nov 5, 2018
    用 for i 循环会快一些
    unkn369
        42
    unkn369  
       Nov 5, 2018 via Android
    realpg
        43
    realpg  
    PRO
       Nov 6, 2018
    从文件系统干掉父目录硬链接然后修复文件系统
    tongjun
        44
    tongjun  
       Jun 25, 2021
    rsync 没多快,至少做不到秒删
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1710 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 182ms · UTC 16:23 · PVG 00:23 · LAX 09:23 · JFK 12:23
    ♥ Do have faith in what you're doing.