精华内容
下载资源
问答
  • 索引节点详解

    万次阅读 多人点赞 2018-05-09 14:27:44
    这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。 每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。 二、inode的内容 inode包含文件的元信息,具体来说有以下内容: ...

    理解indoe

    作者:阮一峰

    一、inode是什么?

    理解inode,要从文件储存说起。

    文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。

    文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
    每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

    二、inode的内容

    • inode包含文件的元信息,具体来说有以下内容:
    文件的字节数
    
    文件拥有者的User ID
    
    文件的Group ID
    
    文件的读、写、执行权限
    
    文件的时间戳,共有三个:
         ctime指inode上一次变动的时间
         mtime指文件内容上一次变动的时间
         atime指文件上一次打开的时间。
    
    链接数,即有多少文件名指向这个inode
    
    文件数据block的位置
    • 可以用stat命令,查看某个文件的inode信息:
      stat example.txt

    stat命令
    总之,除了文件名以外的所有文件信息,都存在inode之中。至于为什么没有文件名,下文会有详细解释。

    三、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"
    

    这里写图片描述
    由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件。

    四、inode号码

    每个inode都有一个号码,操作系统用inode号码来识别不同的文件。

    这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。

    表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

    使用ls -i命令,可以看到文件名对应的inode号码:

      ls -i example.txt
    

    这里写图片描述

    五、目录文件

    Unix/Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。

    目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。

    ls命令只列出目录文件中的所有文件名:

      ls /etc
    

    这里写图片描述
    ls -i命令列出整个目录文件,即文件名和inode号码:

    ls -i /etc
    

    这里写图片描述
    如果要查看文件的详细信息,就必须根据inode号码,访问inode节点,读取信息。ls -l命令列出文件的详细信息。

    ls -l /etc
    

    这里写图片描述
    理解了上面这些知识,就能理解目录的权限。目录文件的读权限(r)和写权限(w),都是针对目录文件本身。由于目录文件内只有文件名和inode号码,所以如果只有读权限,只能获取文件名,无法获取其他信息,因为其他信息都储存在inode节点中,而读取inode节点内的信息需要目录文件的执行权限(x)。

    六、硬链接

    一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。

    这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为”硬链接”(hard link)。

    ln命令可以创建硬链接:

    ln 源文件 目标文件
    

    这里写图片描述
    运行上面这条命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中有一项叫做”链接数”,记录指向该inode的文件名总数,这时就会增加1。

    反过来,删除一个文件名,就会使得inode节点中的”链接数”减1。当这个值减到0,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。

    这里顺便说一下目录文件的”链接数”。创建目录时,默认会生成两个目录项:”.”和”..”。前者的inode号码就是当前目录的inode号码,等同于当前目录的”硬链接”;后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的”硬链接”。所以,任何一个目录的”硬链接”总数,总是等于2加上它的子目录总数(含隐藏目录)。

    七、软链接

    除了硬链接以外,还有一种特殊情况。

    文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的”软链接”(soft link)或者”符号链接(symbolic link)。

    这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:”No such file or directory”。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode”链接数”不会因此发生变化。

    ln -s命令可以创建软链接。

    ln -s 源文文件或目录 目标文件或目录
    

    这里写图片描述

    八、inode的特殊作用

    由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。

      1. 有时,文件名包含特殊字符,无法正常删除。这时,直接删除inode节点,就能起到删除文件的作用。

      2. 移动文件或重命名文件,只是改变文件名,不影响inode号码。

      3. 打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。因此,通常来说,系统无法从inode号码得知文件名。

    第3点使得软件更新变得简单,可以在不关闭软件的情况下进行更新,不需要重启。因为系统通过inode号码,识别运行中的文件,不通过文件名。更新的时候,新版文件以同样的文件名,生成一个新的inode,不会影响到运行中的文件。等到下一次运行这个软件的时候,文件名就自动指向新版文件,旧版文件的inode则被回收。

    展开全文
  • 根据文件路径查找索引节点 操作系统的文件管理系统的主要作用就是,当用户需要访问一个文件时,系统可以通过用户给出的文件路径找到文件的索引节点,从而找到文件,并以文件对象的实例交付给用户进程。下面就以系统...

    根据文件路径查找索引节点

    操作系统的文件管理系统的主要作用就是,当用户需要访问一个文件时,系统可以通过用户给出的文件路径找到文件的索引节点,从而找到文件,并以文件对象的实例交付给用户进程。下面就以系统调用open()为例来说明文件的查找过程,以加深对文件系统的理解和认识。

    系统调用open()的内核函数为sys_open(),下图描述了用户进程调用系统调用open()的整个流程:

    sys_open()系统调用打开或创建一个文件,成功后,返回该文件的文件描述符。下图是sys_open()实现代码中主要的函数调用关系图:

    sys_open()

    从sys_open()的函数调用关系图可以看出,sys_open()在做了一些简单的参数检验后,就接着调用do_sys_open(),在该函数中:

    • get_unused_fd()得到一个可用的文件描述符。通过该函数,可知文件描述符实质上是进程打开文件列表中对应某个文件对象的索引值;
    • do_filp_open()打开文件,返回一个file对象,代表由该进程打开的一个文件。进程通过这样的一个数据结构对物理文件进行读写操作;
    • fd_install()建立文件描述符与file对象的联系,以后进程对文件的读写都是通过操作该文件描述符而进行的。

    do_filp_open()

    do_filp_open()用于打开文件,返回一个file对象;而打开之前需要先找到该文件。

    open_namei()用于根据文件路径名查找文件,借助一个持有路径信息的数据结构nameidata而进行;

    查找结束后,将填充有路径信息的nameidata返回给接下来的函数nameidata_to_filp(),从而得到最终的file对象。当达到目的后,nameidata这个数据结构会马上被释放。

    open_namei()

    open_namei()用于查找一个文件。

    path_lookup_open()实现文件的查找工作。要打开的文件若不存在,还需要一个新建的过程,则调用path_lookup_create(),后者和前者封装的是同一个实际的路径查找函数,只是参数不一样,使它们在处理细节上有所偏差;

    当以创建文件的方式打开文件时,即设置了O_CREAT标识时,需要创建一个新的索引节点,代表创建一个文件。由vfs_create()里面的一句核心语句:

    dir->i_op->create(dir, dentry, mode, nd);

    它调用了具体的文件系统所提供的创建索引节点的方法。注意,这里的索引节点的概念,还只是位于内存中。只有把它写入磁盘才是一个物理文件的真正创建;

    path_to_nameidata()填充nameidata数据结构;

    may_open()检查是否可以打开该文件。

    __path_lookup_intent_open()

    不管是path_lookup_open()还是path_lookup_create(),最终都是调用__path_lookup_intent_open()来实现查找文件的功能。

    查找时,会遍历路径的过程中,会逐层地将各个路径组成部分解析成目录项对象。如果此目录项对象在目录项缓存中,则直接从缓存中获取;如果该目录项在缓存中不存在,则进行一次实际的读盘操作,从磁盘中读取该目录项所对应的索引节点。得到索引节点之后,则建立索引节点与该目录项的联系。如此循环,直到找到目标文件对于的目录项,也就找到了索引节点,而由索引节点找到对应的超级块对象,就可知道该文件所在的文件系统的类型。

    知道了文件系统的类型,VFS就能调用这个文件系统相对应的索引节点操作函数集来进行操作。

    从磁盘中读取该目录项对应的索引节点;将引发VFS和实际的文件系统的一次交互。

     

    进程创建时文件的复制与共享

    之前讲到:当一个进程系统调用fork()创建一个子进程时,fork()将调用内核函数do_fork()对父进程的进程控制块进行复制,并将这个副本作为子进程的控制块。如果父进程有已经打开的文件,那么子进程理所当然的按某种方式来继承这些文件。为此,do_fork()中有以下这样的一段决定子进程在文件方面的继承方式:

    if(copy files(clone_flags, p))
            goto bad_fork_clcanup;
    if(copy fs(clone_flags, p))
            goto bad_fork_clcanup_files;

    其中,copy files()就是用来处理父进程已打开文件的函数。该函数根据参数clone_flags的设置位来决定子进程以何种方式来继承父进程的打开文件。

    • 当clone_flags中的CLONE_FILES标志为0时,函数copy files()将复制父进程控制块中已打开文件的整个控制结构。这是虽然父子进程使用同一组被打开文件,但各自在自己的文件上下文中工作;
    • 当clone_flags中的CLONE_FILES标志非0时,函数copy files()只是简单地把父进程控制块中的files指针复制到子进程控制块,同时将file_struct结构中的共享计数成员加1,以表明文件又多了一个使用者,即子进程只是通过指针与父进程共享同一组打开文件。

    函数copy fs()只是用来处理fs_struct结构的,类似的,这个结构也是根据其参数clone_flags决定子进程是以复制还是共享方式继承父进程的fs_struct结构的。

     

    展开全文
  • 详解Linux索引节点inode

    2020-09-14 18:50:06
    主要介绍了Linux索引节点inode的相关资料,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
  • 一个FCB就是一个目录项,当创建一个新文件时,系统将分配一个FCB并存放在文件目录中,成为目录项,目录项中包含了文件名+索引节点(inode)指针。 文件描述符:open打开文件到的是一个文件描述符(索引号),存放在...

    文件控制块(目录项/FCB):用来存放控制文件需要的各种信息的数据结构,以实现“按名存取”。一个FCB就是一个目录项,当创建一个新文件时,系统将分配一个FCB并存放在文件目录中,成为目录项,目录项中包含了文件名+索引节点(inode)指针

    文件描述符:open打开文件到的是一个文件描述符(索引号),存放在task_struct数据结构(进程控制块)中,将task_struct结构和file结构挂钩。

     

    下面通过一个例子分析:

    1. 当在应用层调用open函数打开设备文件时,将会根据路径名可以找到该设备文件对应的目录项,再从目录项中找到索引节点指针指向的struct inode结构体,通过其中描述的信息可以知道接下来要操作的设备类型(字符设备还是块设备),还会分配一个struct file结构体

    2. 根据struct inode结构体里面记录的设备号,可以找到对应的驱动函数,也就是驱动层file_operation结构体中的open,read,write等。
    3. 任务完成,VFS会给应用返回一个文件描述符(fd)。这个fd是和struct file结构体对应的,通过fd可以将进程的task_struct数据结构和file结构挂钩起来。接下来上层应用程序就可以通过fd找到对应的struct file,从而找到对应的驱动函数。

    接着上面的流程:

    对打开的设备文件通过fd作参进行write函数调用,通过系统调用陷入内核,执行对应的sys_write()底层函数,并根据传入的文件描述符fd作为下标,在task_struct结构体中找到对应files指针指向的file_struct结构体数组对应的数组项。

    该数组项指向一个file结构体,里面存放了目录项的指针,还有file_operation的指针。之后根据指针,找到该文件对应的file_opration中的操作函数,和目录项指向的该设备文件的inode结构体。inode结构体表示为设备文件时候里面存放了关于该设备的主设备号,次设备号,设备类型等等,当inode用于表示一般文件的时候,里面存放了文件中字符流到盘块号的映射关系,根据inode找到盘块号,构造bio请求,优化合并,放入电梯队列,根据盘块号算出磁盘的CHS,最终操作物理地址,从磁盘写入/读出数据;

     

                             Linux文件系统逻辑结构图


    更详细的分析可以看下文:转自:https://blog.csdn.net/yr12Dong/article/details/79480509

    文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系如下图所示:

    每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体。

        在file结构体中维护File Status Flag(file结构体的成员f_flags)和当前读写位置(file结构体的成员f_pos)。在上图中,进程1和进程2都打开同一文件,但是对应不同的file结构体,因此可以有不同的File Status Flag和读写位置。file结构体中比较重要的成员还有f_count,表示引用计数(Reference Count)。dup、fork等系统调用会导致多个文件描述符指向同一个file结构体,例如有fd1和fd2都引用同一个file结构体,那么它的引用计数就是2,当close(fd1)时并不会释放file结构体,而只是把引用计数减到1,如果再close(fd2),引用计数就会减到0同时释放file结构体,这才真的关闭了文件。

        每个file结构体都指向一个file_operations结构体,这个结构体的成员都是函数指针,指向实现各种文件操作的内核函数。比如在用户程序中read一个文件描述符,read通过系统调用进入内核,然后找到这个文件描述符所指向的file结构体,找到file结构体所指向的file_operations结构体,调用它的read成员所指向的内核函数以完成用户请求。在用户程序中调用lseek、read、write、ioctl、open等函数,最终都由内核调用file_operations的各成员所指向的内核函数完成用户请求。file_operations结构体中的release成员用于完成用户程序的close请求,之所以叫release而不叫close是因为它不一定真的关闭文件,而是减少引用计数,只有引用计数减到0才关闭文件。对于同一个文件系统上打开的常规文件来说,read、write等文件操作的步骤和方法应该是一样的,调用的函数应该是相同的,所以图中的三个打开文件的file结构体指向同一个file_operations结构体。如果打开一个字符设备文件,那么它的read、write操作肯定和常规文件不一样,不是读写磁盘的数据块而是读写硬件设备,所以file结构体应该指向不同的file_operations结构体,其中的各种文件操作函数由该设备的驱动程序实现。

        每个file结构体都有一个指向dentry结构体的指针,“dentry”是directory entry(目录项)的缩写。open、stat等函数的参数的是一个路径,例如/home/akaedu/a,需要根据路径找到文件的inode。为了减少读盘次数,内核缓存了目录的树状结构,称为dentry cache,其中每个节点是一个dentry结构体,只要沿着路径各部分的dentry搜索即可,从根目录/找到home目录,然后找到akaedu目录,然后找到文件a。dentry cache只保存最近访问过的目录项,如果要找的目录项在cache中没有,就要从磁盘读到内存中。(原理有点类似于多级页表)

        每个dentry结构体都有一个指针指向inode结构体。inode结构体保存着从磁盘inode读上来的信息。在上图的例子中,有两个dentry,分别表示/home/akaedu/a和/home/akaedu/b,它们(文件目录项)都指向同一个inode,说明这两个文件互为硬链接。inode结构体中保存着从磁盘分区的inode读上来信息,例如所有者、文件大小、文件类型和权限位等。每个inode结构体都有一个指向inode_operations结构体的指针,后者也是一组函数指针指向一些完成文件目录操作的内核函数。和file_operations不同,inode_operations所指向的不是针对某一个文件进行操作的函数,而是影响文件和目录布局的函数,例如添加删除文件和目录、跟踪符号链接等等,属于同一文件系统的各inode结构体可以指向同一个inode_operations结构体。

        inode结构体有一个指向super_block结构体的指针。super_block结构体保存着从磁盘分区的超级块读上来的信息,例如文件系统类型、块大小等。super_block结构体的s_root成员是一个指向dentry的指针,表示这个文件系统的根目录被mount到哪里,在上图的例子中这个分区被mount到/home目录下。

        file、dentry、inode、super_block这几个结构体组成了VFS的核心概念。对于ext2文件系统来说,在磁盘存储布局上也有inode和超级块的概念,所以很容易和VFS中的概念建立对应关系。

     

    展开全文
  • linux 索引节点 inode 详解

    千次阅读 2018-04-23 19:43:47
    这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。  2 inode的内容 inode包含文件的元信息,具体来说有以下内容: * 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读、写、执行...

    1 inode简介     

    理解inode,要从文件储存说起。     

    文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。      

    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。      

    文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。 

    2 inode的内容     

    inode包含文件的元信息,具体来说有以下内容:     

    * 文件的字节数     

    * 文件拥有者的User ID    

    * 文件的Group ID     

    * 文件的读、写、执行权限     

    * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。     

    * 链接数,即有多少文件名指向这个inode     

    * 文件数据block的位置      

    可以用stat命令,查看某个文件的inode信息: [plain] view plain copy [root@localhost /]# stat example.txt       总之,除了文件名以外的所有文件信息,都存在inode之中。至于为什么没有文件名,下文会有详细解释。 

    3 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命令。

    展开全文
  • 基于索引结点的共享方式(硬链接)2.基于符号链的共享方式(软链接) 0.思维导图 1.基于索引结点的共享方式(硬链接) 2.基于符号链的共享方式(软链接) 例子 共享的文件不存在时 参考:《王道操作系统》...
  • PS:下面的讲解,基于Linux/Unix ... 索引节点,其英文为 Inode,是 Index Node 的缩写。存储于文件系统上的任何文件都可以用索引节点来表示。 文件系统主要分为两部分,一部分为元数据(metada...
  • linux 连接与索引节点

    2012-02-24 16:39:03
    本文档包含了索引节点、硬链接、软连接以及连接的创建!
  • 索引节点和inode的指针结构浅析

    千次阅读 2016-07-01 23:19:18
    索引节点是一个数据结构用来代表一个文件系统对象,其可以是各种事情,包括一个文件或一个目录。每个inode存储文件系统对象的数据的属性和磁盘块位置(多个)。的文件系统对象的属性可包括操纵元数据(例如,修改,...
  • Linux/Unix文件系统索引节点浅析

    千次阅读 2014-08-20 18:01:06
    索引节点,其英文为 Inode,是 Index Node 的缩写。索引节点是整个 Linux 文件系统的基础。存储于文件系统上的任何文件都可以用索引节点来表示。举一个例子来说,假设有一个老图书馆里面有一本登记簿,上面记录着...
  • 索引节点

    千次阅读 2012-10-25 14:49:50
    在两个位图块后面,就是索引节点表了,每个块组中的索引节点都存储在各自的索引节点表中,并且按索引节点号依次存储。索引节点表通常占好几个数据块,索引节点表所占的块使用时也像普通的数据块一样被调入块高速缓存...
  • 文件索引节点

    千次阅读 2016-03-06 20:04:16
    所有的节点都有一个与之相连的索引节点索引节点是用来保存文件信息的,包含以下信息: 文件使用的设备号 索引节点号 文件访问权限 文件链接的数量(硬连接数) 所有者用户识别号 组识别号 设备文件的设备号...
  • VFS的索引节点

    千次阅读 2016-07-16 11:27:30
    索引节点   文件系统处理文件所需要的所有信息都放在称为索引节点的数据结构中。文件名可以随时更改,但是索引节点对文件是唯一的,并且随文件的存在而存在。具体文件系统的索引节点是存放在磁盘上的,是一种静态...
  • Linux文件系统索引节点inode详解

    千次阅读 2015-08-22 14:58:11
    在Linux系统中,为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。  系统是通过索引节点(而不是文件名)来定位每一个文件。  例如:在硬盘当前目录...
  • Linux 中索引节点的理解

    千次阅读 2016-01-22 20:25:29
    索引节点是指在许多类Unix文件系统中的一种数据结构。每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。  linux中,文件查找不是通过文件名称来查找的。实际上是通过i...
  • 超级块、目录项、索引节点和文件对象是VFS虚拟文件系统的4个最关键组成要素,一个inode索引节点唯一的对应一个目录文件夹或者文件,比如:/home/gliethttp/hello.c,我们想打开其中的hello.c文件,open("/home/gliethttp/...
  • 文章目录0.思维导图1.文件控制块对目录的操作2.单级目录结构3.两级目录结构4.多级目录结构(树形目录结构)5.无环图目录结构6.索引节点(FCB的改进)瘦身 ...6.索引节点(FCB的改进)瘦身 参考:《王道操作系统》 ...
  • 主要包括了文件名和索引节点号,索引节点号是指向索引节点表( system inode table )中对应的索引节点的。 或者这样解释一下目录项( 这是大家一起讨论出来的 ),因为目录可以包含子目录,目录是可以层层嵌套的,...
  • unix中,文件系统被安装在一个特定的安装节点上,该安装点在全局层次结构中被称为命名空间,所有已安装的文件系统都作为根文件系统树的枝叶出现在系统中。本质讲,文件系统是特殊的数据分层存储结构,包含文件、目录...
  • 提出了一种在数据网格环境下的基于区域性分割索引节点的分布式副本定位方法。利用将副本定位索引信息按着区域特点或访问的频繁程度分布存储在多个索引节点上,同时利用本地副本定位节点完成本地副本的查询。此方法...
  • 索引节点、硬连接和连接计数 索引节点inode:   Linux为每个文件分配一个称为索引节点的号码inode,可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。系统是通过索引节点(而不是文件名)来定位...
  • 文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数(通常是小整数),用于指代被打开的文件,所有执行I/O操作的系统调用都通过文件描述符。程序刚刚启动的时候,0是...
  • Linux之索引节点inode(index node)

    千次阅读 2016-08-19 20:32:12
    inode就是索引节点,它用来存放档案及目录的基本信息,包含时间、档名、使用者及群组等。 inode 是 UNIX/Linux 操作系统中的一种数据结构,其本质是结构体 它包含了与文件系统中各个文件相关的一些重要...
  • linux索引节点的介绍

    千次阅读 2013-11-16 00:00:23
    1、用ls -i命令来查看文件系统对象的索引节点号  $ ls -i /usr  558145 bin 607393 games 2429605 kerberos 705889 local 131329 share 32833 X11R6 574561 dict 623809 include 640225 lib 
  • df -i 查看了一下/分区的索引节点(inode),发现已经用满(已用=100%),导致系统无法创建新目录和文件。 du -sh查看某文件的大小 周末因为一个鸟程序的日志每条都疯狂输出到一个文件,直接把inode塞满了。记一下...
  • linux操作系统之索引节点

    千次阅读 2014-05-19 19:46:31
    索引节点是什么? 答:数据结构。 这个数据结构是存放shenmde
  • 3、文件目录思维导图文件控制块FCB目录操作目录结构单级目录结构两级目录结构多级目录结构(树形目录结构)无环图目录结构索引结点(FCB的改进) 思维导图 文件控制块FCB 1、什么是文件目录:一种特殊的文件,是有...
  • inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份, 一部份是inode, 而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户...
  • 再用df -i查看了一下/分区的索引节点(inode),发现已经用满(已用=100%),导致系统无法创建新目录和文件。 2、问题原因分析: Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 396,472
精华内容 158,588
关键字:

索引节点