前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下

sh/bash/dash/ksh/zsh等Shell脚本
头像
zhw2101024
帖子: 1849
注册时间: 2009-03-28 16:10
系统: Arch debian win7
联系:

Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下

#31

帖子 zhw2101024 » 2014-01-10 19:48

lilydjwg 写了:
zhw2101024 写了:
eleven.i386 写了:rsync 删除这种海量小文件 很管用的说... 虽然我没也监控过负载和时间. 不过感觉比直接用rm 或者 xargs 都要快 :em06
据我所知这跟Linux文件系统的一个特性有关,大多数文件系统都会在优化的时候把多个小文件放在一个inode块里,rm命令会把文件名一个一个发送给系统内核,再由系统内核返回对应的inode块地址,10万个文件光是找到所有inode块的地址就要很长时间了。而rsync在这方面的处理上应该更灵活一些,直接把这个目录底下的所有inode都清空了,效率自然高很多。
有证据么?

我只看到 rsync 用 unlink,rm 用 unlinkat,以及一大堆 fcntl。
这个……确实没有证据,武断了。不能误导人,改了
头像
南浦月
帖子: 197
注册时间: 2011-07-24 23:34
系统: archlinux
联系:

Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下

#32

帖子 南浦月 » 2014-04-05 23:49

删除整个目录,分分钟的事情。
回复