最近,看到一个比较有意思的话题:在Linux下面如何最快的删除一个目录下的百万级的小文件?通常情况下,在Linux中删除文件首先会选择rm命令,但是处理数量巨大的文件的时候,其删除性能并不是非常好。

   在http://www.quora.com/How-can-someone-rapidly-delete-400-000-files 中,Zhenyu Lee提出了一个非常好的方案,就是使用rsync -a -delete命令进行删除,其原理是将一个空目录同步到该目录,从而达到删除的目的。并且其速度非常快,比rm命令要高出不少。

文中解释了使用rm命令会比较慢的原因:这是因为使用rm命令删除海量文件的时候,会首先创建一个文件列表,这会耗掉很多时间。

If you have millions of files, using rmwill build file list first, which take a lot of time.[英文原文:A faster way to delete millions of files in a directory ]