Linux下删除大文件的方法推荐使用

rsync --delete-before -d ./tmp/ www.teclys.com/

tmp 目录是随便新建的空目录 ,斜杠最好加上。

而FreeBSD的ZFS格式用上面的命令则比较痛苦,它会先把整个目录都find一遍,等读取完了才开始删除。
跟 rm 命令效率差不多。

7200转的机械硬盘下,find一遍300万个文件可能要半天时间。而随着文件的增加,find时间会成倍提高。如果内存小,则根本跑不完就崩溃了。

不过有个折中的办法,可以跳过find过程。

代码如下:
#!/bin/sh num=1 while [ $num -le 50000 ] do rm www.teclys.com/$num.html num=`expr $num + 1` done

通过直接生成文件地址的方式,以循环的方式逐个删除。这样就跳过了find过程。可以节省大量时间。

如果文件不是按序列命名的,那就没办法了。

标签: none

添加新评论