码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈inode

时间:2016-04-09 01:53:14      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:linux

1.初识inode:

文件存于硬盘上(硬盘最小存储单元是“扇区”(sector),每个扇区储存512字节)

操作系统读硬盘时,一次性读取一个“块”(block)(8个sector组成)

由多个扇区组成的块——>文件存取的最小单位

文件数据存储在“块”中

储存文件元信息——>inode(索引节点)

2.inode包含文件的元信息,其内容:

  文件字节数、文件拥有者的User ID、文件的Group ID、文件的读、写、执行权限、文件的时间戳、链接数(即有多少文件名指向这个inode)、文件数据block位置

(除了文件名以外的所有文件信息,都存在inode中)

3.查看指令

  stat example  //查看某个文件的inode信息

  sudo dumpe2fs -h /dev/hda | grep "Inode size"  //查看每个inode节点的大小

  df -i  //查看每个硬盘分区的inode总数和已经使用的数量

  ls -i  //整个目录文件里的文件名和inode号码

  ls -i example  //查看文件名对应的inode号码

4.硬盘格式化时,将硬盘分为2个区域:

                                   数据区(存放文件数据)

                                   inode区 (inode table,存放inode所包含的信息)

5.(1)硬链接(hard link)

  Unix/Linux允许,可用不同的文件名访问同样的内容。对文件内容的修改,会影响所有文件名,但删除一个文件名,不影响另一个文件名的访问。(inode号码一样)

  创建:ln 源文件 目标文件

  特点:有相同的inode号,仅文件名不同的文件(文件有相同的inode及data block);

        只能对已存在文件进行创建;

        不能对目录进行创建,只能对文件进行创建;

        删除一个硬链接文件,不影响其他具有相同inode号码的文件

  (2)软链接(soft link 或者 symbol link)

  文件A、文件B的inode号码不一样,但文件A的内容是文件B的路径。读取文件A时,系统自动将访问者导向文件B。因此,无论打开那个文件,最终读取的都是文件B。——>此时,文件A称为文件B的“软链接”(或“符号链接”)。文件A依赖于文件B而存在,如果删除文件B,打开文件A就会报错“没有这个文件或目录”。

  eg:ln -s test.c(B) try.c(A)

      那么 try.c(A)——>test.c(B)

  软链接有自己的inode号及用户数据块。

  创建:ln -s 源文件或目录 目标文件或目录

  特点:软链接有自己的文件属性及权限;

        可对不存在文件或目录创建软链接;

        软链接可对文件或目录进行创建;

        创建软链接时,连接计数不会增加;

        删除软链接不影响被指向的文件,但若被指向的文件被删除,则相关软链接变成死链接(若被指向路径文件被重新创建,死链接可恢复为正常的软链接)

6.软链接和硬链接最大的不同:

  文件A 指向文件B 的文件名,而不是文件B的inode号码,文件B的inode的链接数不会因此发生变化。

本文出自 “追寻内心的声音” 博客,请务必保留此出处http://ljy789.blog.51cto.com/10697684/1761894

浅谈inode

标签:linux

原文地址:http://ljy789.blog.51cto.com/10697684/1761894

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!