开发者社区> 问答> 正文

Linux目录本身的大小

一般默认安装好linux以后,目录大小是4096。但是我看到有些含有许多文件的目录,显示大小很大,但肯定是4096的整数倍。
所以问题就是:Linux目录本身的大小是如何计算的?

展开
收起
a123456678 2016-06-24 17:28:55 1968 0
1 条回答
写回答
取消 提交回答
  • 对于 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的大小,只不过显示的时候会显示文件的实际大小。所以如果你的系统里面有很多小文件的话,存储空间是存在浪费的。

    2019-07-17 19:47:12
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载