删除大型文件有没有什么快速的命令,有 5 个多 T, rm -rf 太慢了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
CUMTProgrammer
V2EX    程序员

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

  •  
  •   CUMTProgrammer 2018-11-05 16:51:06 +08:00 11326 次点击
    这是一个创建于 2537 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言    2018-11-06 09:09:08 +08:00
    描述错了,是 5T 的很多小文件,不是一个文件,不好意思
    44 条回复    2021-06-25 09:30:18 +08:00
    ml1344677
        1
    ml1344677  
       2018-11-05 16:52:54 +08:00
    买个新硬盘(逃
    lfzyx
        2
    lfzyx  
       2018-11-05 16:52:58 +08:00   4
    用 rsync --delete 同步一个空文件夹?
    kslr
        3
    kslr  
       2018-11-05 16:57:44 +08:00 via Android
    这个命令不慢吧 也就几十分钟 也有反应的时间
    likuku
        4
    likuku  
       2018-11-05 16:58:06 +08:00
    可以格盘么?意思是可以整盘摧毁么?

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

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

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

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

    具体用哪个工具不明..
    WEIHUANJIHE
        32
    WEIHUANJIHE  
       2018-11-05 19:59:37 +08:00
    啊啊啊啊
    ETiV
        33
    ETiV  
       2018-11-05 20:01:37 +08:00 via iPhone
    find | xargs -P99
    ghhardy
        34
    ghhardy  
       2018-11-05 20:10:21 +08:00 via Android
    @Lax 其实标题就是这个意思,楼主啥意思得问他自己
    HunterPan
        35
    HunterPan  
       2018-11-05 20:18:25 +08:00
    必须 echo > file
    zbinlin
        36
    zbinlin  
       2018-11-05 20:34:37 +08:00
    如果是单个大文件的,可以先用 `truncate -s 0 <FILEN>` 把大小置为 0 再删除;
    如果是很多小文件的,可以用 `rsync` 来删除。
    jasonyang9
        37
    jasonyang9  
       2018-11-05 20:50:21 +08:00
    学习了。没实践过,跑路前可以试试
    flynaj
        38
    flynaj  
       2018-11-05 21:10:49 +08:00
    mkfs.exe4 /dev/sda
    flynaj
        39
    flynaj  
       2018-11-05 21:11:26 +08:00
    mkfs.ext4 /dev/sda
    mondeo
        40
    mondeo  
       2018-11-05 21:44:02 +08:00 via iPhone
    直接把父目录的硬链接删掉
    Dragonish3600
        41
    Dragonish3600  
       2018-11-05 21:44:36 +08:00
    用 for i 循环会快一些
    unkn369
        42
    unkn369  
       2018-11-05 21:51:38 +08:00 via Android
    realpg
        43
    realpg  
    PRO
       2018-11-06 12:59:02 +08:00
    从文件系统干掉父目录硬链接然后修复文件系统
    tongjun
        44
    tongjun  
       2021-06-25 09:30:18 +08:00
    rsync 没多快,至少做不到秒删
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4544 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 01:05 PVG 09:05 LAX 18:05 JFK 21:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86