可能重复:
When running ls -l, why does the filesize on a directory not match the output of du?什么文件夹的大小表明LS -la
嗨。 我很有趣的信息是什么显示我在Linux输出ls -la。所以,默认大小是4K。但是,如果有很多文件,可能是零大小,如PHP会话=),则大小为!= 4K。 什么让我看到ls -la? 而之后,当我清理这个文件夹,我看到最后的最大大小。
可能重复:
When running ls -l, why does the filesize on a directory not match the output of du?什么文件夹的大小表明LS -la
嗨。 我很有趣的信息是什么显示我在Linux输出ls -la。所以,默认大小是4K。但是,如果有很多文件,可能是零大小,如PHP会话=),则大小为!= 4K。 什么让我看到ls -la? 而之后,当我清理这个文件夹,我看到最后的最大大小。
ls -al
会给你目录本身占用的空间,而不是其中的文件。
因此,它具有最小尺寸。当一个目录被创建时,它被赋予了这么多空间来存储文件信息,这是每个文件一定数量的字节数(假设64个字节认为该数字可能不同)。
如果初始大小是4K,那最多可以允许64个文件。一旦你把超过64个文件放到目录中,它将不得不被扩展。
至于您的评论:
之所以说它可能无法获得,当你删除所有文件中这是因为通常有没有真正的优势更小。它只剩下相同的大小,以便在下次放入大量文件时它不必再次展开(它倾向于假定过去的行为是未来行为的指示)。
如果你想减少占用的空间,这是一个古老的技巧。若要缩小/tmp/qq
的大小,请创建一个全新的/tmp/qq2
,将所有文件复制(在删除不需要的文件后),然后将/tmp/qq
重命名为/tmp/qq3
和/tmp/qq2
至/tmp/qq
。瞧!噢,最终删除/tmp/qq2
。
查看http://stackoverflow.com/questions/1012488/when-running-ls-l-why-does-the-filesize-on-a-directory-not-match-the-output-of – kennytm 2010-06-05 11:14:27
你可能会想在这里问这个问题: http://superuser.com/ Cheers =) – Andree 2010-06-05 11:14:29