Re: 前两天笔试遇到一个题,怎么删除目录下10万个文件?小弟太菜,求高手指导下
发表于 : 2014-01-10 19:48
这个……确实没有证据,武断了。不能误导人,改了lilydjwg 写了:有证据么?zhw2101024 写了:据我所知这跟Linux文件系统的一个特性有关,大多数文件系统都会在优化的时候把多个小文件放在一个inode块里,rm命令会把文件名一个一个发送给系统内核,再由系统内核返回对应的inode块地址,10万个文件光是找到所有inode块的地址就要很长时间了。而rsync在这方面的处理上应该更灵活一些,直接把这个目录底下的所有inode都清空了,效率自然高很多。eleven.i386 写了:rsync 删除这种海量小文件 很管用的说... 虽然我没也监控过负载和时间. 不过感觉比直接用rm 或者 xargs 都要快
我只看到 rsync 用 unlink,rm 用 unlinkat,以及一大堆 fcntl。