为什么这个空目录显示的大小超过三兆字节?

为什么这个空目录显示的大小超过三兆字节?

我有一个运行版本 12.10 的 Ubuntu 网络服务器,托管在 Digital Ocean 上。

当我使用 gFTP 访问它时,列出的其中一个目录大小超过 3MB:

文件夹大小

但是,目录是空的。我尝试显示隐藏文件,但没有看到任何文件。

如果我看不到该文件夹​​中的任何文件,为什么它会显示有 3.5 MB 的数据?

答案1

点文件与每个目录一样,包含此目录中文件的名称列表及其 inode 编号。因此,如果您曾经在该目录中拥有大量文件(对于“tmp”目录来说并非不可能),那么目录条目就会增长到这个大小。

文件消失后,文件系统不会自动再次收缩目录文件。

您可以自己尝试一下,创建一个新的空目录,在其中执行 ls -la 来查看初始大小(在我的计算机上为 4096),然后触碰大量文件,这将使目录大小增加。

(是的,我知道我在这里忽略了/不准确地描述了很多细节。但是 OP 并没有要求完整解释 EXT* 文件系统的工作原理。)

答案2

可能是因为您不是 root 用户,也不在 root 组中...请 ftp 站点的系统管理员(以 root 身份)检查此目录。还是我遗漏了其他内容?

相关内容