inode
2022/6/20 1:20:48
本文主要是介绍inode,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
inode(index node的缩写)
它存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。总之,除了文件名以外的所有文件信息,都存在inode之中。 包含以下信息 * 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读、写、执行权限 * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。 * 链接数,即有多少文件名指向这个inode * 文件数据block的位置
inode大小
inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。 每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。 查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令。 df -i 查看每个inode节点的大小,可以用如下命令: sudo dumpe2fs -h /dev/hda | grep “Inode size” 在ext2中 inode大小为 128B 在ext4和 xfs 的大小可以设置到 256B 在 inode中记录一个数据区块要使用 4B 的大小。 若一个 inode的大小为 128B,一个数据区块大小为 1KB ,在此文件系统中,一个文件的大小最大为16GB ,计算方式如下: 在一个大小为128B的inode中可以记录 12个直接,一个间接,一个双间接,一个三间接记录区。 12个直接区: 12 * 1K = 12K 1个间接区:一个间接区指向一个数据区块,一个数据区块的大小为 1K ,记录一个数据区块要使用 4B ,因此 1K 可以记录 256 个数据区块。 256 * 1K = 256 K 1个双间区: 256 * 256 * 1K 1个三间区: 256 * 256 * 256 * 1K 上面所有的数据想加: 12K + 256K + (256 * 256 * 1K) + (256 * 256 * 256 * 1K) = 16GB
superblock 超级区块:
超级区块链是记录整个文件系统相关信息的地方,没有超级区块,就没有文件系统,他记录的信息包括: 1,数据区块和inode 2,未使用与已使用的inode与数据区块,数量 3,数据区块与inode的大小,(block 为1,2,4K, inode为128B,256B) 4,文件系统挂载时间,最近一次写入数据的时间,最近一次检验磁盘的时间等文件信息。 5,一个有效位数值,若此文件系统已经挂载,则为0,若未挂载,则为1. dumpe2fs [-bh] /dev/sda2 查看超级区块信息
这篇关于inode的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-01为什么公共事业机构会偏爱 TiDB :TiDB 数据库在某省妇幼健康管理系统的应用
- 2024-04-26敏捷开发:想要快速交付就必须舍弃产品质量?
- 2024-04-26静态代码分析的这些好处,我竟然都不知道?
- 2024-04-26你在测试金字塔的哪一层?(下)
- 2024-04-26快刀斩乱麻,DevOps让代码评审也自动起来
- 2024-04-262024年最好用的10款ER图神器!
- 2024-04-2203-为啥大模型LLM还没能完全替代你?
- 2024-04-2101-大语言模型发展
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署