一. inode 是什么?(索引节点)理解inode 需要知道文件存储,文件是存储在硬盘上的,操作系统读取硬盘的时候会连续读取多个扇区(硬盘的最小存储单元),即一次性读取一个块(文件存取的最小单位)。所以文件数据都存储在块中,便需要一个地方储存文件的管理信息。例如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件管理信息的区域就叫做inode(索引节点)。二.  inode的内容1.文件的字节数;2.文件拥有者的Uid;3. 文件的Gid;4. 文件的读、写、执行权限;5.文件的时间戳,共有三个:ctime 指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间;6. 链接数,即有多少文件名指向这个inode;7. 文件数据块的位置可以用stat命令,查看某个文件的inode信息:[object Object]三. inode 的大小inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。每个inode都有一个号码,操作系统用inode号码来识别不同的文件。关于软硬链接一.硬链接一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"。二.软链接文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。两者的区别:(1)软链接可以跨文件系统 ,硬链接不可以。(2)关于 inode的问题 。硬链接不管有多少个,都指向的是同一个inode,会把inode链接数增加只要inode的链接数不是 0,文件就一直存在,不管你删除的是源文件还是链接的文件。只要有一个存在,文件就存在(其实也不分什么 源文件链接文件的,因为他们指向都是同一个 inode)当你修改源文件或者链接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用inode号作为文件指针,而是使用文件路径名作为指针(软链接跟源文件的inode不一样)。所以删除链接文件对源文件无影响,但是删除源文件,链接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.(3)软链接可以对一个不存在的文件名进行链接 。(4)软链接可以对目录进行链接。

转载于:https://blog.51cto.com/10541571/1761738

Linux中的 inode以及 软硬链接分析相关推荐

  1. Linux 文件系统与inode,软硬链接

    目录 磁盘的结构 磁盘的抽象(虚拟,逻辑)结构 分区 Block Group 块组: 分析: 文件名 vs inode编号 创建/删除/查看 一个文件,操作系统做了什么? 软硬链接 软连接 硬链接 对 ...

  2. 【Linux】文件系统与inode、软硬链接

    目录 一.磁盘结构 二.文件系统 2.1 文件系统的区域划分 2.2 文件系统分区介绍 2.3 文件名与inode 三.软硬链接 3.1 软链接 3.2 硬链接 一.磁盘结构 理解文件系统前首先我们要 ...

  3. Linux——文件系统inode与软硬链接

    目录 一.inode (一).背景知识 (二).inode 二.软硬链接 (一).软链接 (二).硬链接 一.inode (一).背景知识 我们知道,磁盘是按磁道与扇区划分.Linux把一个磁盘进行了 ...

  4. 【Linux】磁盘结构/文件系统/软硬链接/动静态库

    文章目录 前言 一.磁盘结构 1.磁盘的物理结构 2.磁盘的存储结构 3.磁盘的逻辑结构 二.文件系统 1.对 IO 单位的优化 2.磁盘分区与分组 3.对分组的具体管理方法 4.文件操作 三.软硬链 ...

  5. inode和软硬链接

    文章目录: 一.理解文件系统 1.1 什么是inode 1.2 磁盘了解 1.2.1磁盘的硬件结构 1.2.2 磁盘的分区 1.2.3 EXT2文件系统 二.软硬链接 2.1 软链接 2.2 硬链接 ...

  6. linux源码文件名,Linux中文件名解析处理源码分析

    Linux中文件名解析处理源码分析 前言 Linux中对一个文件进行操作的时候,一件很重要的事情是对文件名进行解析处理,并且找到对应文件的inode对象,然后创建表示文件的file对象.在此,对文件名 ...

  7. Linux中的软链接与硬链接

    Linux中的软链接与硬链接 一.inode的概念 二.软链接 三.硬链接 硬链接的两个限制 四.软链接与硬链接的区别 一.inode的概念 此部分参考:https://blog.csdn.net/M ...

  8. linux中的inode文件编号和软硬链接

    目录 inode编码 磁盘 扇区 目录下的data block inode 和 文件名的关系 软硬链接 硬链接 软连接 inode编码 一个文件,对应一个inode属性节点,inode编号,linux ...

  9. 认识Linux系统中的inode,硬链接和软链接

    在学习和创建软链接遇到了一点问题,总结一下: 在当前文件夹下面建立了两个临时文件夹tempdir1和tempdir2,然后在tempdir2里面创建了一个hello文件,然后用指令ln -s temp ...

最新文章

  1. ES6中新增字符串方法,字符串模板
  2. spring源码分析之spring-messaging模块详解
  3. Requires: libstdc++.so.6(GLIBCXX_3.4.15)
  4. java写航显系统_一种机场航显系统的制作方法
  5. error: ‘to_string’ is not a member of ‘std’———已解决
  6. 解决spring的xml文件打开没有namespace等操作选项的问题
  7. 聚类 | Map-Equation多级网络聚类模型——InfoMap
  8. 幸福框架:可扩展的应用程序 “启动引导” 框架
  9. 《几何与代数导引》习题1.34.1
  10. Android入门项目(校园软件)
  11. 计算机组成原理——基础知识
  12. c#控制台应用程序读取 config
  13. 苹果手机的定向广告时代告终
  14. 程序员眼中的中国传统文化-王阳明《传习录》16
  15. 永久性删除的文件怎么恢复,怎么还原文件
  16. 2023最新行业圈子系统小程序/语音房APP/短视频APP/商城APP/相亲APP/开黑陪玩APP
  17. 后台Redirect,出现502错误
  18. ubuntu 20.04.3 安装教程(本人一步一步安装记录...)
  19. web performance tu ning
  20. PyCharm 社区版(Community)能不能商用?

热门文章

  1. php中int()强制转换,php下intval()和int强制转换使用的区别是什么
  2. python常见的数据类型_Python常见数据类型及操作
  3. 数据备份 另一服务器_为什么NAS网络存储服务器会受到如此多的关注?
  4. python函数def_python def 函数
  5. Xamarin XAML语言教程控件模板的模板绑定
  6. C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
  7. 查看服务器CPU配置信息,转帖-CentOS查看CPU信息、位数、多核信息;查看服务器硬件信息...
  8. mfc和mysql连接 dao_用MFC DAO 在VC++6.0进行与数据库的连接,对数据库进行定义和操作,最后断开数据库的连接等各种操作。...
  9. android c回调java_android使用c通过jni回调java
  10. 无线AP、WiFi、WLAN是什么关系?