为什么空目录的体积很大?

为什么空目录的体积很大?

以下所有目录均为空

[user@xxxx ~]$ ls -lah /home/1m
total 387M
drwxr-xr-x 22 foo foo 4.0K Apr 17 22:49 .
drwxr-xr-x 10 foo foo 4.0K Apr 17 22:49 ..
drwxr-xr-x  2 foo foo 9.2M Apr 17 22:49 dir_1
drwxr-xr-x  2 foo foo  13M Apr 17 22:49 dir_2
drwxr-xr-x  2 foo foo  39M Apr 17 22:49 dir_3
drwxrwxr-x  2 foo foo 9.2M Jan 19 01:00 dir_4
drwxr-xr-x  2 foo foo  49M Apr 17 22:49 dir_5
drwxrwxr-x  2 foo foo 9.3M Jan 19 01:00 dir_6
drwxr-xr-x  2 foo foo  12M Apr 17 22:49 dir_7
drwxrwxr-x  2 foo foo 9.0M Jan 19 01:00 dir_8
drwxrwxr-x  2 foo foo 9.2M Jan 19 01:00 dir_9
drwxrwxr-x  2 foo foo 9.3M Jan 19 01:00 dir_10
drwxrwxr-x  2 foo foo 9.1M Jan 19 01:00 dir_11
drwxrwxr-x  2 foo foo 9.9M Jan 19 01:00 dir_12
drwxrwxr-x  2 foo foo  31M Jan 19 01:00 dir_13
drwxr-xr-x  2 foo foo  24M Apr 17 22:49 dir_14
drwxrwxr-x  2 foo foo 9.9M Jan 19 01:00 dir_15
drwxrwxr-x  2 foo foo 9.3M Jan 19 01:00 dir_16
drwxr-xr-x  2 foo foo  97M Apr 17 22:49 dir_17
drwxr-xr-x  2 foo foo  12M Apr 17 22:49 dir_18
drwxrwxr-x  2 foo foo 9.9M Jan 19 01:00 dir_19
drwxrwxr-x  2 foo foo 9.3M Jan 19 01:00 dir_20

例如

[user@foo ~]$ time ls -lah /home/1m/dir_5/
total 49M
drwxr-xr-x  2 foo foo  49M Apr 17 22:49 .
drwxr-xr-x 22 foo foo 4.0K Apr 17 22:49 ..

为什么该目录似乎有49M的内容?

- - - 编辑 - - -

文件系统 ext4

xfs 文件系统中是否也发生了同样的事情?

答案1

ls不会告诉您目录内容的大小。

ls(在这种情况下)告诉您代表目录的 inode 的大小。

最有可能的是,此目录曾经包含大量文件,这需要 inode 足够大才能容纳指向每个文件的文件系统指针。当文件从目录中删除时,目录 inode 不会缩小。

相关内容