linux文件系统索引节点浅析

索引节点,Inode是Index Node的缩写,存储于文件系统上的任何文件都可以用索引节点来表示,所以也可以说索引节点是整个linux文件系统的基础。操作系统在读取硬盘的时候不是一个块一个块的来读取信息,因为这样做的话效率太低,文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为“索引节点”。

在Linux系统中,文件系统主要分为两部分,一部分为元数据(metadata),另一部分为数据本身。元数据,换句话说,就是包含了数据有关信息的数据。索引节点就管理着文件系统中元数据的部分。

元数据的基础知识:

在linux文件系统中,任何一个目录或文件都与一个索引节点相对应,而在索引节点表中包含文件系统所有文件列表,而每一个索引节点都是一个表,包含有关文件的信息(元数据),表中包含的信息有:

1、文件类型、权限、UID、GID

2、链接数(指向这个文件名路劲名称个数)

3、该文件的大小和不同的时间戳

4、指向磁盘上文件的数据块指针

5、有关文件的其他数据

文件的索引节点信息如下所示:

  在linux中,如ext3/4文件系统在创建时就已经创建了索引节点,所以每个分区的所以节点是有数量限制的,但是系统会自动分配索引节点,保证inode的最大使用效率,当一个分区中所有的索引节点都被使用完后,就无法再创建新的文件了。

索引节点的指针结构:

系统读取数据的过程:

 

时间: 2024-10-19 23:30:33

linux文件系统索引节点浅析的相关文章

浅析文件系统索引节点

文件有两种数据组成,数据和元数据,创建一个分区的时候,需要把分区格式化,就是创建文件系统,linux中有 ext4,xfs,ext3等文件系统,windows中有fat32 ntfs,exfat等文件系统,如果想在分区下写入存储数据,不光需要文件分区,还需要创建文件系统.现在文件系统主要分为inode和block两大部分,inode就是存储文件的元数据的部分,文件系统根据inode号识别文件,block才是真正存储数据的部分. 早期的文件的系统组成就是一个一个数据块,每个块都有自己的编号,如果一

Linux索引节点以及链接

在学习Linux中,索引节点以及链接概念都是一个既简单又重要的基础概念,一下是我学习这两个概念的总结,在此分享给大家,如有不当之处,敬请各位大神留言提醒,谢谢! 1.0  Linux索引节点 在Linux文件系统中,不管什么类型的文件,保存在磁盘分区中,系统都会给它分配一个编号,称为索引节点index node.在Linux中,存在多个文件指向同一个inode,这种情况一般称为硬链接[hard link]. 一个索引节点(inode)是在一个表项,包含有关文件的信息(元数据),包括:文件类型,权

linux的文件系统及节点表

linux的文件系统及节点表 一  linux的文件系统1 我们都知道当我们安装linux时会首先给系统分区,然后我们会把分区格式化成EXT3格式的文件系统.那么在linux系统中还有没有其他的文件系统呢,下面我们就简单的介绍一下linux系统中常见的几种文件系统.(1)EXT3文件系统:ext3(第三级扩展linux文件系统,third extended linux filesystem).跟EXT2文件不同之处就是增加了日志功能.(2)EXT2和MSDOS:一般用于软盘(3)ISO9660:

目录、目录项、超级块、索引节点、文件

unix中,文件系统被安装在一个特定的安装节点上,该安装点在全局层次结构中被称为命名空间,所有已安装的文件系统都作为根文件系统树的枝叶出现在系统中.本质讲,文件系统是特殊的数据分层存储结构,包含文件.目录和相关的控制信息. 目录: 1.作用:文件是通过目录组织起来的,目录相当于文件夹,用来容纳对应的文件 2.一个例子: /home/csj/1.c 什么是目录,分析一下上面的例子. 根目录 / 这个名词应该都不陌生,后面的 home表示家目录,csj也表示目录,最后的1.c表示一个程序文件 3.上

Linux文件系统与索引节点inode浅析

我们知道磁盘在分区后还需要进行格式化,之后操作系统才能使用这个分区.而需要格式化的原因正是因为每种操作系统所设置的文件属性/权限并不相同.在Linux中,传统的磁盘文件系统是EXT,下面以EXT为例浅析Linux的文件系统与索引节点. 我们知道,文件的数据除了文件实际内容之外,通常还含有非常多的属性.文件系统通常会将权限与属性等数据放置到inode(index node)中,至于实际数据则放置到data block块中:另外,还有一个超级块会记录整个文件系统的整体信息. 在文件系统中,每个ino

linux索引节点及值(弄清十分必要)

各位看官, [[email protected] aaa]# ls -l test.c -rw-r--r--. 1 root root 3 Aug  1 07:49 test.c      #看加粗1    原始test.c文件索引节点值为1,也就是每个文件第一次生成时候都是唯一的1值 [[email protected] aaa]# ln test.c test1.c     #硬链接文件test1.c [[email protected] aaa]# ls -li test* 262594

Linux文件系统中的inode节点详细介绍

这篇文章主要介绍了Linux文件系统中的inode节点,详细讲解了inode是什么.inode包含的信息.inode号码的相关资料等. 一.inode是什么? 理解inode,要从文件储存说起.文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组成的"块&q

Linux索引节点(inode)用满导致的一次故障

一.发现问题: 在一台配置较低的Linux服务器(内存.硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了66%,还有12G的剩余空间,按理说不会出现这种问题. 二.分析问题: 后来用df -i查看了一下/data分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件. inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份

Linux文件系统详解(文件系统层次、分类、存储结构、存储介质、文件节点inode)

从操作系统的角度详解Linux文件系统层次.文件系统分类.文件系统的存储结构.不同存储介质的区别(RAM.ROM.Flash).存储节点inode. 本文参考:http://blog.chinaunix.net/uid-8698570-id-1763151.html http://www.iteye.com/topic/816268 http://soft.chinabyte.com/os/142/12315142.shtml http://www.ibm.com/developerworks/