首页 > 热点

Linux硬链接与软链接|今日热讯

来源:哔哩哔哩 2023-01-18 21:21:25

block:数据读写的基本单位,由多个扇区组成

inode:记录文件的属性信息,文件的内容存放在数据block中

• 一个文件对应至少一个inode


(资料图)

• 分区中文件数量与inode数量有关

• 一个分区一定要包含inode表和block区

• 分区格式化时会根据默认值或指定值直接分block, 再根据inode“预计”要控制的block个数、分区中 总block个数划分出多个空白的inode

• inode数量=分区总容量/block大小/inode控制的block数 

• block大小常用4KB

• 新建目录时,为其分配一个inode和一个block,前者放目录自 身的属性,且指向后者;后者放与该目录有关的文件的关联性

• 目录的block保存的信息中最重要的是文件名指针,该指针 包括文件名和指向文件inode的指针

• 新建文件时,为其分配一个inode和足够数量的block以“装下” 该文件的全部内容,同时也要将该文件的文件名指针添加到其 所在目录的block中

• 在linux中,使用指定路径读取文件内容时,首先由根目录开始 获取其所在目录的inode,从中找到文件名指针,由此找到文 件的inode,再由文件inode找到其起始block,最终得到 block中所存储的文件内容

将本文件与其他文件相联系的文件 

硬链接:新建一个文件名指针指向源文件的inode

软链接(又称符号链接) :新申请一个空白 inode,在其中记录源文件的给定路径,并通过源文件的给定路径来访问其数据块

连接数 

新建常规文件:连接数为1,代表自身 

新建目录文件:连接数为2,代表它本身与其上层目录,同时其上层目录的连接数加1

硬链接和软链接的文件类型不同 硬链接与源文件相同,软链接是l(链接文件)

硬链接是直接指向已存在的文件,其文件属 性信息来自源文件的inode;软链接是一个符号,仅保存了从本文件到源文件的一个路径,其文件属性来自自身的inode

结论

1. 硬链接的inode号和源文件一样,软链接不同

2. 硬链接和软链接的文件类型不同

3. 硬链接的大小和源文件相同,软链接仅仅几个字节

硬链接的限制

1. 不能跨文件系统、跨分区链接文件

硬链接直接指向原文件的inode,其数据结构与具体文件系统相关联,因此不可跨系统创建硬链接文件软链接仅保存了原文件的路径,因此可以实现跨文件系统链接

2. 不能链接目录

硬链接到目录时要求该目录下的所有文件 都要同时建立硬链接,且在该目录下新建文件时也要这样做,容易出现错误,同时大大增加系统复杂性

删除源文件时硬链接与软链接反应不同 

硬链接文件“忘记”自己是链接文件,变为一个常规文件

软链接文件会产生“断链”现象,无法正常显示

硬链接与复制文件的不同 

硬链接不占用空间,修改硬链接文件时源文件跟着改变

复制文件占用空间,对它的修改不会影响源文件

上一篇 下一篇
推荐阅读
相关新闻