【Linux】开始认识软硬链接
给大家一句话:
人生,终究不允许你只做一个旁观者。 – 朱德庸
ᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤ
ᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤ
ᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤᕙ༼◕_◕༽ᕤ
软硬链接与动静态库
- 1 前言
- 2 软硬链接
-
- 2.1 软链接
- 2.2 硬链接
- 2.3 总结
- Thanks♪(・ω・)ノ谢谢阅读!!!
- 下一篇文章见!!!
1 前言
上篇文章我们学习了文件系统,了解未打开的文件在磁盘中是如何储存的。
- 首先在磁盘中我们都会进行一个磁盘的分区
- 每个分区又分为若干的组
- 每个组都有若干的 Block Group 进行管理
- Block Group :其中有一套文件系统进行管理:
- super block (超级块):用来记录文件系统的结构信息(统筹管理文件系统),防止数据丢失。不是每个 Block Group 都有超级块。
- GDT:块组描述符,描述块组属性信息:块多大,有多少个Datablock,使用了多少个… 其本质是管理字块的部分
- block bitmap:数据块的位图,通过比特位来记录那一个数据块被使用了。
- inode bitmap:inode的位图,每个bit表示一个inode是否空闲可用。通过比特位表示是否可用。
- inode table:inode 表,用来储存若干个inode。inode里储存文件的基础属性信息,每个文件对应一个inode。每个文件都有一个inode编号,通过这个编号确定文件所在的分组。inode里存在Dateblock [ N ],标记该文件使用了哪些数据块。
- Date block:数据块,每个都是固定大小(一般4KB),储存文件内容。
然后我们怎么寻找一个文件呢:
要找到指定文件 -> 首先要找到所在目录(逆向解析路径) ->找到文件的inode编号 -> 打开文件
操作系统必须通过路径来确定文件!!!
操作系统的命令也是同理,我们使用命令时会在环境变量中的PATH
中的路径进行寻找命令(可执行文件)
目录也是文件!目录里储存着文件名与inode编号的映射关系!!!
找到所在目录的过程与找指定文件过程一样,因为目录本质也是文件!就这样进行逆向的路径解析。 (逆向解析的过程会储存在缓存区中,方便下次提高效率)
目录是由进程提供的,内核文件系统提前写入并组织好了。