软硬链接

简介:

@[TOC]

磁盘和磁带

  1. 磁盘和磁带的工作原理基本相同
  2. 对于磁盘,其有多个磁片,数据是存放在磁片中的一个同心圆的扇区(一般取512字节为一个单位)
  3. 当我们学习文件系统的时候,用2D的视角分析磁盘
  4. 我们可以把磁片按同心圆切割,最后连接起来的就成为磁带那种2D的线。
  5. 以连续的2D视角,方便学习。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsoGylhk-1666880736668)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027193438911-1666870479903-1.png)]

文件系统

  1. 直接管理一个磁盘的代价很高,如果将磁盘进行分区(也就是C盘,D盘等),只要管理好一个区,其它区就可以管理好,同时因为分块的原因,区块间的耦合性非常低,维护起来也很容易。
  2. 文件系统就是OS为了管理磁盘每个分区,为每个分区内置的一种管理系统。
  3. 理解文件系统是,要学会用2D的视角分析内存,采用一种虚拟映射思想,毕竟磁盘的数据定位需要很多操作协同。
  4. 以linux下的 文件EXT系统介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gu85111u-1666880736678)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027204928976-1666874970293-1.png)]

Data Block和Block Bitmap

当文件写入内容时,OS会遍历 block bitmap,找到第一个为0的二进制位,使用这个编号对于的内存块。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mwOhalix-1666880736684)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027205012558.png)]

inode Table 和inode Bitmap

  1. linux下,OS并不是通过文件名识别一个文件的,而是通过一个编号来标识一个文件的,也就是inode。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gu5HUXjz-1666880736687)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027210412304.png)]

  2. inode的内存块中存放的时文件属性,和data block中的编号数组,可以看成是一种映射数组
  3. 当创建一个新的文件时,OS会遍历inode bitmap,找第一个为0的二进制位,其对应的编号就是新文件的ionde。
  4. 当删除一个文件时,inode bitmap对应二进制位变为0,block bitmap对应二进制位也变为0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UJRUgsQA-1666880736689)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027205434366-1666875275378-3.png)]

Super block

存放文件系统本身的结构信息。记录的信息主要有:bolck 和 inode的总量,
未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个文件系统结构就被破坏了 。

Group Descriptor Table:

块组描述符,描述数据块的使用情况,inode块的使用情况等资源信息

目录

  1. 目录也是一种文件,也拥有它独立的inode
  2. 目录存放的数据是:其子文件的inode和子文件名的映射关系

对文件的指令

对文件的指令本质都是对特定inode对应文件的访问与操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYBP8vtt-1666880736692)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027213127555-1666877489276-5.png)]

touch

创建文件时,使用inode bitmap中第一个二进制位为0对应编号作为新文件的inode

cat

根据文件名与inode的映射关系,打印对应inode的data block中的数据

rm

将inode bitmap 中对应二进制位赋值为0,同时对block bitmap也继续同样的删除操作

cp

以指定文件为模板,建立新的inode,同时将这些新文件的文件名和inode放在指定的目录下

mv

将目录下的一对inode和文件名放到另外一个目录下。

回收站

回收站的本质是将一个目录下的inode与文件名移到另外一个目录下

软硬链接

软链接

  1. 软连接就像window下的快捷方式。通过window的快捷方式,即使软件的执行文件的路径不在当前路径下,也可以完成对软件的执行
  2. 软链接是新建一个文件,存放链接对象的地址。
ln -s 目标文件名 软链接的新文件名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v9Xa2hYo-1666880736694)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027215526937.png)]

硬链接

  1. 硬链接是链接对象的别名,不生成新的文件
  2. 硬链接是一种引用计数
ln -s 目标文件名 硬链接文件名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tr48gR54-1666880736695)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027215914644.png)]

删除链接

unlink +链接名

软硬链接的区别

  1. 软链接是有自己独立的inode,会创建新的文件
  2. 硬链接是链接对象的inode的一种新的映射关系---也就是别名,不会创建文件。

硬链接数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qqmle9Ux-1666880736698)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027220953848.png)]

硬链接的使用

为什么一个新建的目录它的硬链接数为2?

.就是指向当前目录,这也就是为什么一个新建的目录为什么链接数为2

如何再当前目录里面下新建一个目录,当前目录的硬链接数会变为2是因为 新建目录里面有个‘’..’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCMnLL5Z-1666880736700)(./%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.assets/image-20221027222453624-1666880694550-10.png)]

相关文章
|
7月前
|
缓存 Linux Windows
【Linux】开始认识软硬链接
上篇文章我们学习了文件系统,了解未打开的文件在磁盘中是如何储存的。
46 4
|
7月前
|
存储 Linux 索引
【Linux】—— 详解软硬链接
【Linux】—— 详解软硬链接
111 0
|
7月前
|
Linux Windows
【Linux】详解软硬链接
【Linux】详解软硬链接
|
5月前
|
存储 Linux Windows
【Linux】文件系统软硬链接的那些事儿
本文介绍了Linux文件系统的磁盘结构、逻辑结构以及文件和inode的关系,重点讲解了软链接和硬链接的区别,强调了它们在文件管理中的作用。
76 7
|
6月前
|
Linux Windows
【Linux】软硬连接
【Linux】软硬连接
|
7月前
|
存储 Linux Shell
【Linux】15. 文件系统与软硬链接
【Linux】15. 文件系统与软硬链接
58 6
|
存储 Linux 索引
软硬连接基本介绍
软硬连接基本介绍
246 1
软硬连接基本介绍
|
7月前
|
存储 数据管理 Linux
Linux之文件系统与软硬链接
Linux之文件系统与软硬链接
90 0
|
Linux
Linux系统软硬链接
Linux系统软硬链接
|
存储 Linux 索引
文件系统和软硬链接
文件系统和软硬链接
109 0