Chinaunix

标题: 如何快速的删除一个包含很多小文件的文件夹 [打印本页]

作者: XQKA    时间: 2014-07-21 15:41
标题: 如何快速的删除一个包含很多小文件的文件夹
如何快速的删除一个包含很多小文件的文件夹?
小文件有数十万个
作者: XQKA    时间: 2014-07-21 15:46
root# ls | wc -l
  674349

以上命令出结果需要5分钟
作者: q1208c    时间: 2014-07-21 15:52
mkdir -p /tmp/adfadfadfadad
rsync -a --delete  /tmp/adfadfadfadad/ /path/to/your/dir/
作者: XQKA    时间: 2014-07-21 15:55
root# which rsync
which: 0652-141 There is no rsync in /usr/bin /etc /usr/sbin /usr/ucb /usr/bin/X11 /sbin /usr/java6/jre/bin /usr/java6/bin /oravl01/grid/11.2.0.3/product/bin.

操作系统是AIX,有AIX下的方法吗?
作者: Shell_HAT    时间: 2014-07-21 16:01
先把文件夹删掉,再新建。可以吗?
作者: XQKA    时间: 2014-07-21 16:03
删除文件夹也很消耗时间
作者: q1208c    时间: 2014-07-21 16:07
那就先 rename, 然后建个新的. 之后慢慢删原来的文件.

find ./ | xargs rm -f
作者: XQKA    时间: 2014-07-21 16:17
q1208c 发表于 2014-07-21 16:07
那就先 rename, 然后建个新的. 之后慢慢删原来的文件.

find ./ | xargs rm -f


哈哈,有种曲线救国的赶脚。

我把rm文件夹放在后台让它慢慢删吧。另外发现ls | wc -l  5分钟出结果的原因是我开了多个窗口rm 那个文件夹,那rm命令都停掉之后30秒出结果。
rm文件夹删除里面文件的速度是每秒2,3千个
作者: q1208c    时间: 2014-07-21 16:39
回复 8# XQKA


用 find的 原因是, 当你的目录里文件真的很多的时候, rm 会报 too many args ...     
作者: royzs    时间: 2014-07-21 18:41
回复 9# q1208c


    这情况我遇到过
作者: action08    时间: 2014-07-22 09:32
本帖最后由 action08 于 2014-07-22 09:32 编辑

碰到笔试题,rm -rf /tmp/path(执行复杂度n(size))


总不成我自己还要研究文件系统intelface,然后直接对path的inode给废了吧(执行复杂度n(1))
作者: action08    时间: 2014-07-22 09:33
本来就是shell来操作的事情,直接rm -rf,不研究蛋疼的技术
作者: XQKA    时间: 2014-07-26 21:52
action08 发表于 2014-07-22 09:32
碰到笔试题,rm -rf /tmp/path(执行复杂度n(size))


我发这帖子的一个目的就是想知道从inode操作有迹可寻吗?
就是直接把文件夹的inode废了,有没有可能实现快速删除呢




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2