linux新建目录和文件大小,为什么Linux中空目录的大小是4KB?

我打算将这个问题分解为3个部分,其中2部分我可以回答……

第1部分:为什么不是空目录大小0?

因为它包含.而且……所以它并不是空的.

第2部分:为什么4K最小?

因为这是文件系统的块大小.您可以在创建文件系统时将其设置得更小,但是存在开销.文件系统必须记住每个块的空闲或使用标志,因此较小的块=更多的块=更多的开销. (在ext2的早期阶段,默认块大小为1K.磁盘足够小,因为不为每个文件分配4K的倍数而节省的空间比用于空闲块映射的空间更重要.)

块大小超过4K是不可能的,因为4K是大多数处理器上的页面大小(虚拟内存的最小单位),并且Linux不是为处理大于内存页面的文件系统块而设计的.

第3部分:当您使用常规文件时,您将获得实际使用的字节数,但是当您使用-ld目录时,您将获得分配的字节数.为什么?

这部分我不知道.对于常规文件,您可以使用ls -s查看分配大小,这两种大小实际上会告诉您不同的内容.但是在目录上,-l大小就像-s大小的冗余副本.据推测,内核可以报告一个大小,表明实际使用了多少4K块,但事实并非如此.我不知道为什么.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值