一、前言
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命令”等)显示“占用大小”,还是“使用大小”,由命令具体实现决定。