一.  概念

1.  inode(index node)表中包含文件系统所有文件列表

一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包括:

  • 文件类型,权限,UID,GID

  • 链接数(指向这个文件名路径名称个数)

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

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

  • 有关文件的其他数据

  • inode  索引节点编号

       2. inode 表结构

           

3. inode号

系统中将目录下的文件名和文件inode号之间的映射作为目录的数据存放;人们通过文件名进行操作时,系统会通过对应路径目录的inode号找到目录的inode表数据,进而通过数据指针指向目录的数据,匹配文件名,得到文件的inode号;再到inode表中找到此文件的表项,再由文件数据指针指向真正的文件数据。

i.  系统中同一分区的索引节点编号是唯一的,即在一个分区中,索引编号相同的文件指向的数据是同一个;(硬链接)

ii.  系统中每个分区的索引节点划分是独立的,不同分区的索引节点编号可能相同,但不是同一个文件;

iii.  分区中的索引节点编号是有限的;当分区中索引节点编号用完后,新建文件夹会提示系统内存不足,导致新建失败;但系统中仍有剩余磁盘空间,原因是索引节点编号不足,无法为文件分配节点编号,因而新建失败。

   ls -i                                 查看文件节点编号        df -i                                 查看分区节点编号使用情况echo file{1..500000} |xargs touch     批量新建大量文件;参数过多,touch无法直接创建echo file{1..500000} |xargs rm        批量删除大量文件;参数过多,rm无法直接删除

4. 文件操作与inode的关系

        i.  cp命令执行原理
               系统分配一个空闲的inode号,在inode表中生成新条目;在目录中创建一个目录项,将名称与inode编号关联;拷贝数据生成新的文件
       ii.  rm 命令执行原理
               链接数递减,减到零后,进而释放inode号,被系统重用;把数据块放在空闲列表中;删除目录项;数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。
       iii.  mv命令执行原理
              如果mv命令的目标和源在相同的文件系统,作为mv 命令用新的文件名创建对应新的目录项;删除旧目录条目对应的旧的文件名;不影响inode表(除时间戳)或磁盘上的数据位置:没有数据   被移动!
              如果目标和源在一个不同的文件系统, mv相当于cp和rm

二 . 软连接与硬链接

1. 硬链接

    创建方式:   ln filename  filename2 

          a. 硬链接的新建是为同一inode号添加文件名  (本质是在目录条目里为inode号增添一个文件名映射,指向同一个inode表数据,因此数据相同)
          b. 新建硬链接,链接数增加(链接数实质就是 inode号 对应文件名的个数;当 inode 号映射的文件名不存在时,此 inode号就会被系统回收重用)
          c. 硬链接文件和原文件之间数据共享,但又互相独立;(修改其中任意一个文件的数据,其他的文件数据都会改变,因为共用同一数据指针;删除其中任意一个文件,链接数减少,即减少一个inode和文件名之间的映射,但对数据指针没影响,所以其他文件数据没影响)
          d. 不能跨分区创建硬链接 (各分区之间 inode 互相独立)
          e. 不能对目录创建硬链接 (目录最多有三个硬链接,目录本身,目录下的 . ,子目录下的 ..)

2.  软连接

    1. 创建方式: ln -s file_path file_link    file_path :原文件绝对路径或原文件相对与 file_link 的相对路径, 推荐使用相对路径,可移植性强2. readlink file_link                     读取软连接原始文件路径3. 软连接指向新文件rm -f file_link                      删除原软连接ln -s newfile_path file_link         创建新软连接

          a.  软链接实质是新建一个文件快捷方式,存放的数据是原文件的文件名,文件数据大小是原文件名字的字节数;访问时通过文件名指向到原文件数据
          b.  软链接支持跨分区  (通过原始文件路径进行映射)
          c.  可以创建目录软连接
          d.  软连接文件依赖于原始文件 ;删除原始文件,软链接文件会失效

转载于:https://www.cnblogs.com/N37-shiguoqing/p/10627834.html

Linux文件索引节点相关概念相关推荐

  1. 为什么引入文件索引节点能大大加快目录检索速度

    首先弄清楚什么是索引结点(inode)? 一般来说,面试不会问 inode .但是 inode 是一个重要概念,是理解 Unix/Linux 文件系统和硬盘储存的基础. 理解inode,要从文件储存说 ...

  2. linux查看文件节点,Linux之索引节点inode(index node)

    inode就是索引节点,它用来存放档案及目录的基本信息,包含时间.档名.使用者及群组等. inode 是 UNIX/Linux 操作系统中的一种数据结构,其本质是结构体 它包含了与文件系统中各个文件相 ...

  3. linux文件 i节点结构,Linux 文件描述符 文件表项 i节点结构

    Linux的VFS(虚拟文件系统)学习起来很痛苦,看源码不太明智,看完分析完就忘且太浪费时间,懂了后也无法应用在实际场合中.所以这里只是讨论下文件描述符,文件表项(file结构体)和inode,理清实 ...

  4. linux文件i节点,深入理解linux中i节点(inode)

    对于Unix系列的操作系统,大多都有v节点.但是对于linux来说,只有通用的i节点,却没有v节点. 下面来探讨一下,linux下的i节点. linux中,文件查找不是通过文件名称来查找的.实际上是通 ...

  5. linux服务器文件索引inodes满了

    inode节点中,记录了文件的类型.大小.权限.所有者.文件连接的数目.创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针. 一般情况不需要特殊配置,如果存放文件很多,需要配置 ...

  6. Linux 文件和目录的属性及权限

    一.权限位说明 Linux 文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主(Owner)的读.写.执行,用户组(Group)的读.写.执行以及(Other)其它用户的读.写. ...

  7. linux文件存储、inode、硬链接、软链接

    目录 介绍 inode的内容 inode的大小 inode号码 目录文件 硬链接 软链接 介绍 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512 ...

  8. Linux文件系统概述:硬盘驱动>通用块设备层>文件系统>虚拟文件系统(VFS)

    目录 一.概述 1. 硬盘驱动 2. 通用块设备层 General Block Device Layer 3. 文件系统 4. 虚拟文件系统(VFS) 二.存储介质 闪存(Flash Memory) ...

  9. 空间管理员(一)AFS文件目录系统索引节点vfs_inode结构

    空间管理员(一)AFS文件目录系统索引节点vfs_inode结构 文章目录 空间管理员(一)AFS文件目录系统索引节点vfs_inode结构 前言 一.VFS(Virtual File System) ...

最新文章

  1. Linux下进程间通信-------管道通信
  2. react的导出是怎么实现的_22 个让 React 开发更高效更有趣的工具
  3. java url 解码 编码 奇怪的解码两次
  4. 【面试经验分享】Java 面试中的那些潜规则
  5. Scala的自定义类型标记
  6. scala的多种集合的使用(6)之映射Map的操作方法
  7. 单点登录的原理与简单实现
  8. 2018.3.13 浮动 定位
  9. Solr schema编写指导
  10. C语言小案例_OA大典案例摘录【第1378篇】联想兄弟激光机卡纸 卡定影 有折叠 卡到出纸口不出来 合集...
  11. Ubuntu 配置磁盘挂载到指定目录
  12. 分布式 Git - 为项目做贡献
  13. 从数据分析看王祖贤的电影人生
  14. c语言fgetc函数作用,C语言fputc()和fgetc()函数
  15. 360高级前端架构师Hax(贺师俊):前端开发编程语言的过去、现在和未来
  16. Air780E小程序远程开关-LuatOS版本
  17. 微信订阅号简单开发指引
  18. 孪生素数—(相差2的素数对)
  19. 计算机专业期末背书,“期末最惨专业排行榜”,这十五个专业的遭遇简直惨绝人寰!...
  20. 网页设计Hero Image

热门文章

  1. python【蓝桥杯vip练习题库】ALGO-1区间k大数查询
  2. python【Matlibplot绘图库】利用matlibplot绘制雷达图
  3. pwa要离线html么,正确使用PWA
  4. elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格
  5. 不能用了 重装系统git_重装新版gitlab时遇到gitlab-rails database初始化失败
  6. linux c++开发环境_使用 VM VirtualBox 搭建完善的Linux开发环境
  7. 用计算机绘制函数图象教案,信息技术应用 用计算机画函数图象教学设计(教案)...
  8. nodejs http.get 方法可以 request 不行
  9. 元气森林网络推广外包来势汹汹,地毯式营销旨在打造国民品牌
  10. 哪些模块可用于python性能分析_提升Python程序性能的方法有哪些?看完你就知道啦!...