文件大小 和 文件占用空间

创建一个文件 b.txt

$ echo -n "b" > b.txt
  1. 查看文件大小
$ ls -lh b.txt 
-rw-rw-r-- 1 liyongjun liyongjun 1 102 16:53 b.txt

文件中仅存放一个字符 ‘b’ ,所以文件大小为 1

  1. 查看文件占用空间
$ du -ah
4.0K	./b.txt
  1. 文件大小 和 文件占用空间
    文件大小只有 1B,为什么占用空间为 4KB?
    使用 stat 查看文件详情
$ stat b.txt
  File: ‘b.txt’
  Size: 1               Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 922330      Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/  centli)   Gid: ( 1000/  centli)
Access: 2020-10-02 16:47:00.496640070 +0800
Modify: 2020-10-02 16:59:34.705082876 +0800
Change: 2020-10-02 16:59:34.705082876 +0800
 Birth: -

Size:文件的字节数
Blocks:块数 (ps:个人更倾向于这里应该写成 Sectors,即占用多少扇区)
IO Block:每块的字节数

2021/10/27 修订:
Size:文件大小
Blocks:文件占用磁盘块数,此时的磁盘块为扇区,一个扇区为 512 字节,即 0.5K
IO Block:系统的 IO 缓冲区 buffer 大小,为 4096 字节

文件存储在磁盘上,磁盘的最小存储单位叫做“扇区”(Sector)。每个扇区存储 512 字节。
操作系统读取硬盘时,不会一个个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,即一次读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是 4KB,即连续 8 个 Sector 组成一个 block。

在这里插入图片描述
一个“块”只能被一个文件占用,即使一个文件只占用了“块”的一个字节,其他文件也不能再使用这个“块”存储数据。所以文件的占用空间为“块”的整数倍。

参考:
理解inode
文件属性中“大小”和“占用空间”的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li-Yongjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值