用60,000个小文件清空一个目录之后,ls -l仍然显示大的目录大小?

这里是ls -l之后我在rm -f里面join了new目录。 我期望目录“大小”缩回到默认的“4096”。

 [root@example Maildir]# pwd /var/qmail/mailnames/example.com/noreply/Maildir [root@example Maildir]# ls -l total 28688 drwx------ 2 popuser popuser 1179648 Dec 27 09:55 courierimapkeywords -rw-r--r-- 1 popuser popuser 16 Feb 8 2010 courierimapsubscribed -rw-r--r-- 1 popuser popuser 29593 Dec 27 09:54 courierimapuiddb -rw-r--r-- 1 popuser popuser 8156862 Dec 20 18:28 courierpop3dsizelist drwx------ 2 popuser popuser 11907072 Dec 27 09:54 cur -rw------- 1 popuser popuser 495 Dec 27 10:08 maildirsize drwx------ 2 popuser popuser 8040448 Dec 27 10:08 new drwx------ 2 popuser popuser 4096 Dec 27 10:08 tmp 

这是正常的吗?

我可以离开这个吗?

无论使用什么文件系统,都无法缩小目录(或者未启用)。 你可以按如下方式解决这个问题:

  1. 在这个目录的父目录中创build一个新的目录。
  2. 将旧目录的内容移动到新目录中。
  3. 删除旧的目录。
  4. 将新目录重命名为与旧目录相同的名称。