inode 索引节点和软硬链接

Inode 索引节点

inodeindex node)表中包含文件系统所有文件列表

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

文件类型,权限,UIDGID

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

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

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

有关文件的其他数据

inode表结构

ls -i 可以查看节点编码

Inode table 节点表 是存放元数据的,每一个分区都有一个节点表。

在一个分区里一个文件只有一个节点号,就像人的身份证号

硬链接:

命令是ln 源文件 目录/链接文件名

理论知识:

连接数=文件名字的数量。

同一个文件在同一分区起多个名字,一个节点对应多个名字就相当于与名片。

不能跨分区创建,不能针对目录创建

rm命令递减计数的链接

文件要存在,至少有一个链接数

当链接数为零时,该文件被删除

实验

下面的命令可以对比一下我创建了3个链接,290,节点号。3,表示几个链接。

连接数再多,它在硬盘的数据也不会增加,只是在目录里多加了几个记录而已。

软连接:

命令是ln -s 源文件 链接文件名

理论:

软连接通俗说就是快捷方式。

一个文件对应多个名字

可以跨分区创建,可以针对目录进行。

源文件一但删除快捷方式就失效了。

连接数不会增长

 

实验:

下图是跨分区创建

ln -s 原始文件的相对/绝对路径,(相对于软连接文件的路径) 软连接文件

下图所示;

rm命令:

链接数递减,从而释放的inode号可以被重用

把数据块放在空闲列表中

删除目录项

数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖。

如果mv命令的目标和源在相同的文件系统,作为mv命令

用新的文件名创建对应新的目录项

删除旧目录条目对应的旧的文件名

不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动

CP的命令:

分配一个空闲的inode号,在inode表中生成新条目

在目录中创建一个目录项,将名称与inode编号关联

拷贝数据生成新的文件

时间: 2024-12-27 16:29:51

inode 索引节点和软硬链接的相关文章

inode索引节点和硬连接软连接(草稿)

什么事inode节点? inode结点是文件系统的组成部分,inode节点表中只存放文件的属性信息,这样的设计有很多的好处, 比如,当我们要访问一个文件时,并不是在整个磁盘上搜索,而是在这个inode表中搜索索引信息,inode上存放着数据的指针信息(就是文件的地址块),也便于管理. 一个节点(索引节点)是一个表项,存放有关文件的元数据包括: 文件类型,权限,UID,GID 连接数(指向该文件名的路径的个数) 该文件的大小和时间戳 指向磁盘上文件的数据块指针 有关文件的其他数据

7.28_Linux_ext数据结构inode的原理浅析、软硬链接的区别

inode表结构浅析 下图以ext文件系统为参考,以4k块大小分区,简单描述一下ext文件系统的数据结构原理,如果有任何错误,烦请各位指出 inode 索引节点 硬盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区.硬盘的读写以扇区为基本单位. 扇区的大小,是2的N次方倍.分区的大小可以有多样,1k.2k.4k...以4k块大小来说明.4k块大小分为8个扇区,每个扇区对应512字节.每一块也称为block,文件以block为单位进行存储,并且每一个bolck只能属于一个文件,若文件大小不足

Linux课程笔记 软硬链接

1. 软硬链接的介绍和实践 1.1链接的概念 在linux系统中,链接分为硬链接和软链接.在默认不带参数的情况下,执行ln命令创建的是硬链接. 链接是指通过索引节点来进行链接.在linux系统中,多个文件名指向同一个索引节点是正常且允许的,这种是硬链接.硬链接的作用之一是允许一个文件有多个有效路径防止误删除源数据. 文件系统中,只要文件的索引节点还有一个以上的链接,只删除其中一个链接并不影响索引节点和其他的链接(即数据实体并未删除).只有当最后一个链接被删除,此时如果有新数据要存储到硬盘时,被删

Linux运维学习笔记-软硬链接知识总结

文件链接   硬链接,通过索引节点来进行链接 硬链接原理图 硬链接的创建: 直接执行命令"ln 源文件 硬链接文件",即可完成创建硬链接. 硬链接知识小结: 1.具有相同Inode节点号的多个文件是互为硬链接文件. 2.删除硬链接文件或者删除源文件任意之一,文件实体并未被删除. 3.只有删除了源文件及所有对应的硬链接文件,文件实体才会被删除. 4.当所有硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间,或者磁盘fsck检查的时候,删除的数据也会被系统回收. 5.硬链接文件

linux中文件索引节点知识

概念 索引节点     inode表中包含了文件系统所有文件列表     一个节点是在一个表项里,包含文件数据(元数据).         1.文件类型,权限,UID,GID         2.链接数(指向这个文件名路径名称个数)         3.文件的大小和时间戳         4.指向磁盘上文件的指针         5.有关文件的其他数据         6.inode 索引节点编号 inode表结构      直接块指针:有12个块直接指向对应的数据单元,每个数据单元可以容纳4K

inode与软硬链接的理解

INODE 在Linux中,一切皆文件,都是以文件形式进行存储. 对于文件,它有两个属性,一个是自身属性,又称文件的元数据,表明这个文件自身的属性情况,如 文件的创建者是谁,所属组是哪个,文件的权限是什么,创建的时间,修改的时间...可以通过stat命令进行文件自身属性的查询,具体用法stat file:file是你要查询的文件: 另一个属性是写入文件中的内容,又称它的数据属性,该属性可以通过cat,vim等命令进行数据查看或者修改.文件的主要作用就是用来存储数据的,但是如果缺少文件的自身属性这

Linux中的 inode以及 软硬链接分析

    一. inode 是什么?(索引节点)              理解inode 需要知道文件存储,文件是存储在硬盘上的,操作系统读取硬盘的时候会连续读取多个扇区(硬盘的最小存储单元),即一次性读取一个块(文件存取的最小单位).所以文件数据都存储在块中,便需要一个地方储存文件的管理信息.例如文件的创建者.文件的创建日期.文件的大小等等.这种储存文件管理信息的区域就叫做inode(索引节点).            二.  inode的内容            1.文件的字节数:    

inode block 软硬链接

inode block 软硬链接 1 inode 1.1 inode(索引节点)作用 (1)用于存储文件数据属性信息(2)用于存储数据指针信息 1.2 如何产生 格式化时,创建文件系统 1.3 如何查看:df -i 1.4 特点 (1)一个文件会占用一个inode(2)大量小文件会占用大量inode 2 block 2.1 block作用 用于存储文件数据内容 2.2 如何产生 格式化时,创建文件系统 2.3 如何查看:df 2.4 特点 (1)一个文件数据会占用多个block(2)一个bloc

Linux文件系统与索引节点inode浅析

我们知道磁盘在分区后还需要进行格式化,之后操作系统才能使用这个分区.而需要格式化的原因正是因为每种操作系统所设置的文件属性/权限并不相同.在Linux中,传统的磁盘文件系统是EXT,下面以EXT为例浅析Linux的文件系统与索引节点. 我们知道,文件的数据除了文件实际内容之外,通常还含有非常多的属性.文件系统通常会将权限与属性等数据放置到inode(index node)中,至于实际数据则放置到data block块中:另外,还有一个超级块会记录整个文件系统的整体信息. 在文件系统中,每个ino