一般默认安装好linux以后,目录大小是4096。但是我看到有些含有许多文件的目录,显示大小很大,但肯定是4096的整数倍。所以问题就是:Linux目录本身的大小是如何计算的?
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
对于 ext2/3/4 的文件系统,默认的 data block 大小是 4096 byte,当你需要新建文件或者目录的时候,最小的分配单位就是data block
,也就是 4k 大小,比如一个文件内容是 4M,就要分配1000个 data block来存放这个文件的内容,而文件或者目录的属性、权限、data block编号是存在对应的inode中。
当你新建一个目录的时候,会默认的分配一个block,就是你看到的4096 byte,目录中文件的文件名和inode信息要存放到这个block中。目录里面文件增长,要存储的元信息也会增多,一个block不够,会再申请block,但是最小的单位就是block,所以大小总会是4096的整数倍。
当你新建了一个小文件,也会分配 4096 byte的大小,只不过显示的时候会显示文件的实际大小。所以如果你的系统里面有很多小文件的话,存储空间是存在浪费
的。
- 1 回答
- 0 关注
- 976 浏览
添加回答
举报
0/150
提交
取消