2.   一个磁盘可以划分为N多扇区,每个扇区有512字节 。扇区是磁盘上的基本存储单元,我们可以将每个扇区进行编号,这样磁盘就变为 一系列编了号的块的组合。
3.   磁盘块上存储文件时,按照一定的规律。

每个文件系统分为3部分:超级块,i-节点表,数据区 。
超级块 :存放文件系统本身的信息,比如记录了每个区域的大小,或未被使用的磁盘块的信息。(不同版本稍有差别)
i-节点表 :每个文件都有其属性,大小,最近修改时间等等,这些被存储在ino_t 的结构体中,所有的i-节点都有一样的大小,i-节点表就是这样一些节点的列表。
(表中的每个i-节点都通过位置来标志,例如标志为2的i-节点位于文件系统i-节点表中的第3个位置 )
数据块 :存放文件内容,因为块的大小一定,所以有时一个文件会分布在多个磁盘上。

4.   创建一个文件 的4个步骤:

存储属性:内核先找到一个空的i-节点,把文件的属性信息填入其中;
存储数据:从磁盘上找出空闲块,把文件数据复制进去;
记录分配情况:内核在i-节点的磁盘分布区记录了刚刚的磁盘编号
添加文件名到目录:将(i-节点号,文件名)添加到目录。

NIX文件系统包括引导块、超级块、i节点区、文件存储区、进程对换区等几部分。

引导块占用第0号物理块,不属于文件系统管辖,如果系统中有多个文件系统,只有根文件系统才有引导程序放在引导块中,其余文件系统都不使用引导块;
超级块占用第1号物理块,是文件系统的控制块,超级块包括:文件系统的大小、空闲块数目、空闲块索引表、空闲i节点数目、空闲i节点索引表、封锁标记等。超级块是系统为文件分配存储空间、回收存储空间的依据。
i节点区存放i节点,i节点是对文件进行控制和管理的一种数据结构。
文件存储区是存放文件内容的区域,文件存储区中各数据块的使用情况在超级块中由记录,系统利用超级块中的记录完成对数据块的分配和回收
unix文件系统中很重要的概念之一就是i节点,下面就开始说说这个重要概念。
每一个文件都有自己的i节点,每个i节点都有一个唯一的i节点号。
i节点结构如下(参考/usr/include/sys/ino.h):
struct dinode
{
ushort di_mode;  /*文件类型+用户权限*/
short di_nlink;  /*文件链接数*/
ushort di_uid;  /*属主用户id*/
ushort di_gid;  /*属主用户组id*/
off_t di_size;  /*文件大小*/
char di_addr[40]; /*文件数据区起点地址*/
time_t di_atime; /*最后访问时间*/
time_t di_mtime; /*最后修改时间*/
time_t di_ctime; /*创建时间*/
};
从上面这个结构可以看出以下一些信息:
1、i节点保存了文件的属性和类型、存放文件内容的物理块地址、最近一次的存取时间、最近一次的修改时间、创建此文件的时间。
2、i节点中没有记录文件名字,那文件名是怎么关联到i节点,这么设计又有什么好处呢?
呵呵,这里就关系到了 硬连接与符号连接的区别?
3、di_mode这个是怎么保存文件类型+用户权限的,这个如果引申下来也很值得一说。
一般我们用l列文件看到的是这样的结果:
drwxr-xr-x   7 root     sys          512 Dec 15  2002 var
-rw-r--r--   1 root     sys         4003 Jul  4 23:37

unix文件中i节点相关推荐

  1. 【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )

    文章目录 一.创建 XmlParser 解析器 二.获取 Xml 文件中的节点 三.获取 Xml 文件中的节点属性 四.完整代码示例 一.创建 XmlParser 解析器 创建 XmlParser 解 ...

  2. 创建XML文件以及XML中的节点和更新Xml文件中的节点的值

    最近在项目中用到了XML文件,需要将一些配置信息保存到指定的XML文件中.因此就用到了对XML文件中节点的值的更新的功能. 首先我们来创建一个XML文件,并在文件中创建几个值,我们来看下Demo的代码 ...

  3. 从Config文件中读取节点的配置信息

    下面是web.config中与本内容有关的细节 <appSettings><add key="servername" value="www"/ ...

  4. UNIX文件的实现——索引节点

    POSIX没有强制磁盘上的文件采取任何特定的表示方法,但是传统的UNIX文件都是按照改进的树状结构来实现的.目录项中包含一个文件名 和一个定长结构的引用(索引节点).索引节点包含与文件长度.文件位置. ...

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

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

  6. php linux脚本文件,Unix/Linux中如何直接执行PHP脚本文件?

    使用Linux系统的服务器都有搭建完整的PHP环境,因此有些用户会用PHP去写一些执行自动化任务的脚本,可是发现每次执行PHP脚本都需要使用php myscript.php的方式,感觉有点麻烦.其实我 ...

  7. chmod 是一条在Unix系统中用于控制用户对文件的权限的命令

    chmod 是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数.只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权 ...

  8. vscode中如何创新建php文件,php – 如何在Visual Studio Code,UNIX中的所有文件中创建所有行结尾(EOL)?...

    我使用Windows 10 home,我通常使用Visual Studio Code(VSCODE)来编辑Linux Bash脚本以及PHP和JavaScript. 我没有开发任何专门用于Window ...

  9. php 时间戳存储 原因,将php文件中的unix时间戳存储到mysql中(store unix timestamp from php file into mysql)...

    将php文件中的unix时间戳存储到mysql中(store unix timestamp from php file into mysql) 现在我有这个代码: $mysqldate = date( ...

  10. Linux如何查询目录默认权限,如何设置UNIX/Linux中新创建目录或文件的默认权限

    在unix或者linux中,创建一个新文件或者目录时,这个文件或者目录都具有一个默认的权限,比如目录755,文件644,这些默认权限是由umask(权限掩码)来控制的,一般umask默认值为022,其 ...

最新文章

  1. 细说php--php学习必备
  2. 使用Maven运行Java main的方法(转)
  3. 修正Android基于ZXing的二维码扫描——横竖屏自由切换
  4. 从工作实践中积累Linux常用脚本(一)
  5. linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...
  6. OpenCV探索之路(十):图像修复技术
  7. arrays中copyof复制两个数组_Java教程分享之数组知识梳理
  8. BZOJ4293 : [PA2015]Siano
  9. Datawhale 202210 Excel | 第五、六、七章 Excel函数示例 Excel函数列表
  10. http://www.cnblogs.com/zxp_9527/archive/2009/05/07/1452253.html
  11. DialogFragment的OnDismissListener
  12. stm32实现波形发生器
  13. 基于ssm的基金分析系统的设计与实现-计算机毕业设计
  14. 关于springboot整合mybatisplus中找不到数据库中的表的问题
  15. 编写可读代码,提高工作效率
  16. MLX90614红外温度计介绍
  17. 军校空军士官计算机专业,军校微媒矩阵 | 军改新信息: 详解空工大航空机务士官学校...
  18. 说说香港银行开户的一些细节问题
  19. 警惕免杀版Gh0st木马!
  20. ​​​​​​​深度学习在场景文字识别技术中的应用综述

热门文章

  1. c语言添加vmp保护代码,易语言使用vmp加壳保护程序
  2. BN层详解(含有公式推导过程)
  3. 去掉高德api上的logo图标
  4. ubuntu中firefox图片有色差问题
  5. SoapUI测试webservice接口
  6. IEEE Access模板caption无法换行
  7. gif一键抠图 在线_不会PS,怎么免费在线抠图?一键轻松制作头像
  8. 网络计算机基础思考题答案,[电脑基础知识]计算机网路技术习题参考答案1-8章.doc...
  9. linux酷q运行不了,Linux上使用docker运行酷Q机器人
  10. 《最优化理论》:运输问题(一)求最小运费【西北角法、最小元素法、伏格尔法】