【学海拾贝】文件大小和实际占用空间大小不一致的情况思考:加深文件系统分配理解

1 前情提要

发现这个问题是我在整理数据集的过程中,想看数据集的大小的时候

查看的时候,忽然发现文件的大小和占用空间不一致~

不禁好奇为什么,上网查阅了资料,大致理解了

2 情况一 占用空间大于文件大小

这是因为操作系统的文件系统(NTFS)是按簇去分配空间的,簇是分配空间的最小单位,是4KB(4096字节),什么意思

也就是说操作系统只会给某一个文件分配一个簇,两个簇,一直到N多个簇,不会出现1.5个簇,即不会出现两个不同公用一个簇的情况,这也就好理解了

也就是说占用空间只能是4KB的整数倍,而文件大小却不一定是4KB的整数倍

在这里插入图片描述

2 情况二 占用空间为0

如下图,文件大小482字节,占用空间却为0?

在这里插入图片描述

这是因为NTFS会为每个文件分配1KB的索引空间用来记录文件的基本信息。如果这个空间用不完,且文件内容少,Windows就会把内容直接写到索引空间里空余的地方。看上去就是不占硬盘空间了。

如果文件内容增加了,超过了索引区的大小,就会把内容从索引空间里移出去分配磁盘空间保存

参考

[1] 文件大小为什么和占用空间不一样?-腾讯云开发者社区-腾讯云 (tencent.com)

[2] (32 封私信 / 1 条消息) 为什么一个36字节的文本文档占用空间0字节? - 知乎 (zhihu.com)

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值