0%

Ext文件系统中,文件的“占用大小”和“使用大小”

一、前言

Ext文件系统中,采用“inode/block”结构来存储目录文件和一般文件。即目录文件有1个inode节点和1到多个block节点,block节点中存储“<子文件文件名,子文件inode节点序号>”记录;一般文件有1个inode节点和0到多个block节点,block节点中存储一般文件的具体内容。

二、占用大小和使用大小

由于采用block节点机制,关于文件的“大小”,就有两个概念:占用大小和使用大小。根据以下两者的定义,可知一般情况下,“文件的使用大小”<=“文件的占用大小”。

2.1、占用大小

占用大小=文件对应的block节点个数*单个block节点大小。

2.2、使用大小

使用大小=block节点1使用大小(有些空间被空置)+block节点2使用大小(有些空间被空置)+…+block节点N使用大小(有些空间被空置)[假定文件对应N个block节点]。

三、其他

显示文件大小的命令(比如“stat命令”,“ls命令”,“du命令”等)显示“占用大小”,还是“使用大小”,由命令具体实现决定。

您的支持将鼓励我继续分享!