如何使用rm删除极大量文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
ttand
帖子: 1745
注册时间: 2005-08-22 14:05
来自: 离开北京

如何使用rm删除极大量文件

#1

帖子 ttand » 2007-06-26 14:53

rm *
bash: /bin/rm: Argument list too long
不想山文件夹
怎么解决
错过好多好贴,没占到广告位后悔啊
shizhi21cn
帖子: 11
注册时间: 2007-06-04 21:06

#2

帖子 shizhi21cn » 2007-06-26 15:06

for files in $1/*; do
rm files
done
头像
ttand
帖子: 1745
注册时间: 2005-08-22 14:05
来自: 离开北京

#3

帖子 ttand » 2007-06-26 15:10

岂不是 rm 了n次。。。恐怖阿
还有没有更简便的方法阿
错过好多好贴,没占到广告位后悔啊
shizhi21cn
帖子: 11
注册时间: 2007-06-04 21:06

#4

帖子 shizhi21cn » 2007-06-26 15:14

find /dir/ * |xargs rm
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#5

帖子 bones7456 » 2007-06-26 15:15

代码: 全选

find . -type f -name "*" -exec rm {} \;
关注我的blog: ε==3
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#6

帖子 iblicf » 2007-06-26 15:18

try this :

代码: 全选

find . -type f -exec rm {} \;
liangxgz
帖子: 13
注册时间: 2007-02-14 20:05

#7

帖子 liangxgz » 2007-08-13 10:59

代码: 全选

find -exec rm -rf \{} \;
这个命令会提示很多错误.但是不用管.最终还是会达到目的的
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#8

帖子 eexpress » 2007-08-13 11:01

直接开rox吧。这么麻烦。
● 鸣学
yhntgbty
帖子: 21
注册时间: 2007-01-20 11:38

#9

帖子 yhntgbty » 2007-08-16 16:49

我觉的最简单的就是删除文件夹后再mkdir
gregorian
帖子: 20
注册时间: 2007-04-02 15:04

#10

帖子 gregorian » 2007-08-16 23:43

感觉还是用for循环来做比较好
yhntgbty
帖子: 21
注册时间: 2007-01-20 11:38

#11

帖子 yhntgbty » 2007-08-17 10:31

使用for的话还是执行了n多个rm,简单的使用"rm 所在文件夹" 然后"mkdir 所在文件夹" 应该是最快的
yhntgbty
帖子: 21
注册时间: 2007-01-20 11:38

#12

帖子 yhntgbty » 2007-08-17 10:37

刚才做了一个测试 总共18150个文件 使用rm *提示“-bash: /bin/rm: Argument list too long”
然后使用for循环,用了31.067S删除完。 如果使用rm 文件夹 再mkdir 文件夹 仅使用了0.607秒S
差距太多了 近50倍.
BTW: 18150个文件都是空文件。
头像
nihui
帖子: 1746
注册时间: 2006-10-21 12:03
来自: Shanghai
联系:

#13

帖子 nihui » 2007-08-17 10:41

直接删除所在文件夹多好,反正是“*”的~
对着文件删除反而会因为匹配 * 浪费时间。。 :wink:
.

私人空间
附有 Magic Linux 2.1 最新开发日志~


미안하다, 사랑한다


欢迎来 #xfce-cn 中文频道~~
回复