Linux中inode
来源:互联网 发布:知乎怎么用邮箱注册 编辑:程序博客网 时间:2024/05/24 00:09
什么是inode
文件储存在硬盘上,硬盘的最小存储单位叫做“扇区“(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
所以对于Linux:
data block
存储真正的数据inode
存储元数据SuperBlock
这是整个文件系统的第一块空间。包括整个文件系统的基本信息,如块大小,inode/block的总量、使用量、剩余量,指向空间 inode 和数据块的指针等相关信息。
硬链接
每一个inode对于数据区里面的一块数据。一般来说一个文件名对应一个inode,但是一个inode也可以对于多个文件名(多个文件共享一个inode),也就是说一块数据有多个名字,修改每一个文件,都会改变所有的文件。这时候,inode的Links就会增加。
首先又一个wqh
的文件,然后创建一个硬链接。
$ ln wqh wqhHard
可以看到wqh的Links为2
修改wqhHard会改变wqh的内容。可以参考下面这个图来理解:
软链接
一个文件的内容存储另一个文件的路径,读取A时,系统自动将访问者导向B.所以无论到开那个文件,都是B的内容。(A的内容看不到哦)
小结
由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。
1. 有时,文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除文件的作用。
2. 移动文件或重命名文件,只是改变文件名,不影响inode号码。
3. 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名。
第3点使得软件更新变得简单,可以在不关闭软件的情况下进行更新,不需要重启。因为系统通过inode号码,识别运行中的文件,不通过文件名。更新的时候,新版文件以同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件的时候,文件名就自动指向新版文件,旧版文件的inode则被回收。
- linux 中inode简介
- linux中inode详解
- Linux中inode
- Linux中文件系统的inode
- Linux中inode的理解
- Linux中inode的理解
- linux 中 inode 的理解
- linux文件系统中iNode的详细解释
- linux中inode、软链接、硬链接
- 【linux】内核中根据inode得到文件名
- 对Linux中inode的理解
- 【Linux】中有关Inode的理解
- linux中inode的工作原理
- 对Linux中inode的感悟
- Linux中inode节点有什么作用?
- Linux中文件系统中的inode介绍
- linux inode
- linux inode
- android中的Fragment
- fiddler监视远程服务
- 一个简单能用的LoadingDialog
- 【大风】matrix:valid parentheses括号匹配代码分享
- session原理
- Linux中inode
- git学习笔记
- list排序
- IOI2009【BZOJ3351】 Regions【区域发展】
- C#调用C++的dll文件
- [noip2008tg] 火柴棒等式
- 文章标题
- HTML5部分全局属性
- C++多线程-第一篇-Atomic-原子操作