Chinaunix

标题: linux系统,bash,在一个目录下想删除超过10w的文件,求解 [打印本页]

作者: broadsowrd619    时间: 2007-08-17 09:17
标题: linux系统,bash,在一个目录下想删除超过10w的文件,求解
发现超过10w数量级,使用ls |xargs -i rm -f 没有作用。echo * 也不起作用。请大家帮忙想个方法。另外不想for n个循环。
作者: li2002    时间: 2007-08-17 09:25
find ...|xargs ..不行??
作者: waker    时间: 2007-08-17 09:25
直接删除这个目录
作者: codfei    时间: 2007-08-17 09:28
超过10W?  第一次听说 以为最多10W呢
作者: dearvoid    时间: 2007-08-17 09:30

  1. find -exec rm -rf {} \;
  2. # OR
  3. find -maxdepth 1 -print0 | xargs -0 rm -rf
  4. # OR
  5. ls -1 | xargs -d '\n' rm -rf
复制代码

作者: 寂寞烈火    时间: 2007-08-17 09:37
把有用的文件 打包, 然后mkfs
作者: broadsowrd619    时间: 2007-08-17 09:56
这几种方法都是过了,不行才发帖的。火哥呀,是生产环境,有任务再跑。
不知道还有没有好的方法了?
作者: ivhb    时间: 2007-08-17 10:09
find . -type f -name "*" -exec rm -f {} \;
作者: waker    时间: 2007-08-17 10:19
  1. [root@proxy waker]# find trm|wc -l
  2. 108179
  3. [root@proxy waker]# time rm -rf trm

  4. real    1m37.897s
  5. user    0m0.128s
  6. sys     0m4.860s
复制代码


好像也就是几几分钟, 菜羊II 1G+128M pc133
作者: broadsowrd619    时间: 2007-08-17 10:39
原帖由 waker 于 2007-8-17 10:19 发表
[root@proxy waker]# find trm|wc -l
108179
[root@proxy waker]# time rm -rf trm

real    1m37.897s
user    0m0.128s
sys     0m4.860s


好像也就是几几分钟, 菜羊II 1G+128M pc133

可是,我这样做根本就没有反应,估计已经超过很多了。还是写循环跑吧
作者: ivhb    时间: 2007-08-17 11:02
等等呗,着什么急啊
作者: tom_xx_hu@yahoo    时间: 2007-08-17 11:03
六楼的法子怎么不行?
作者: 寂寞烈火    时间: 2007-08-17 11:21
原帖由 tom_xx_hu@yahoo 于 2007-8-17 11:03 发表
六楼的法子怎么不行?


实际上我感觉就是个效率问题啦, 版主的方法应该是最有效率的,如果文件数量过多, 而且文件过大的话, 无非就是等待的时间长点, 外面点根烟, 歇会去! 呵呵




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