操作系统如何计算文件大小?

时间:2013-07-29 09:22:42

标签: unix operating-system filesystems

我想知道如何计算操作系统上的文件大小?

我最好的猜测是操作系统会以某种方式跟踪文件列表以及它们占用的所有相关磁盘块,并简单地将(磁盘块的数量*块大小)相乘,但这不会给出确切的文件大小。在一个块中可能有未使用的空间,然后我猜它可以循环到最后一个块的所有字节,直到它找到一个空的termnination char。

我想这是依赖操作系统但我只是想了解整体情况,但我正在寻找与unix相关的答案:)

1 个答案:

答案 0 :(得分:1)

在Linux和其他类Unix操作系统上,inode存储除文件名和数据内容之外的所有文件信息。创建文件时,会为其分配一个名称和一个inode编号,这是一个在文件系统中唯一的整数。

inode结构包括文件模式(确定权限和文件类型),所有者ID,组ID,系统和用户标志,大小,时间戳(创建/访问/修改时间),链接数,设备ID(in为了识别包含文件的设备,以及指向存储文件实际内容的磁盘块的指针。