张春 发表于 2024-8-5 15:00:39

【Linux详解】基础IO:软硬连接 | 动静态库管理

目录
软硬链接
1. 介绍
2.理解
2.1 如何理解硬链接?
2.2 如何理解软连接?
动静态库
1.介绍
1.1 使用
1.2 什么是库?
2.天生
2.1 静态库
2.2 动态库:
软硬链接

1. 介绍

1.1 软连接
是一个独立文件,具有独立的 inode ,也有独立的数据块,它的数据块里面生存的是指向的文件的路径,公用 inode
   创建软连接
ln -s myfile.txt soft_file.link
https://img-blog.csdnimg.cn/img_convert/578b7058975a37754214b1733f7f66b9.png
1.2 硬链接
硬连接的 inode 是一样的,不是一个独立的文件,本质实在就是在特定目录的数据块中新增,文件名和指向的文件的 inode 编号的映射关系!!
   ln 创建连接,由后者指向前者,硬链接数

https://img-blog.csdnimg.cn/img_convert/01ab54e9ecb32306d1654d4afc0229ff.png
观察 inode 编号可以发现,软硬链接的区别:是否具有独立的Inode。
软链接具有独立的Inode:可以被当作独立的文件看待。
2.理解

2.1 如何理解硬链接?

恣意一个文件,无论是目录,照旧普通文件,都有 inode
每一个 inode 内部,都有一个叫做引用计数的计数器,有多少个文件名指向我

https://img-blog.csdnimg.cn/img_convert/fdb13031501997bcaf65428e2c003c00.png
通常用来举行路径定位,接纳硬链接,可以举行目录间切换
   硬链接没有独立的Inode,那硬链接该如何理解呢?或者创建一个硬链接究竟是做了什么?

https://img-blog.csdnimg.cn/img_convert/5cf0ab800ecfeecf9e30335a0d9a209b.png
通过实践我们可以发现,创建目录会发现硬链接数会增加

https://img-blog.csdnimg.cn/img_convert/e8513201ebf5f1022d89dc561ca371bd.png
在目录当中的运用

https://img-blog.csdnimg.cn/img_convert/874f5aefa6c932da4d83e3a36705e406.png
   删文件就是解除映射关系,连接数--
这就是为什么硬链接不会一次被删除
   应用场景
一个. 表示当前目录,inode 是一样的,相当于在另一个场景下的重命名,..为 3,返回的是上级路径的 inode
eg: / 硬链接数为 21,可知旗下有 19 个目录
   ❓ linux 不允许对目录硬链接,为什么?

https://img-blog.csdnimg.cn/img_convert/6bbeea60b6949171959867dacc4e35e3.png
如下图:

https://img-blog.csdnimg.cn/img_convert/c7fb809653c0bb3d6c6707cd987d4aa0.png
   那为什么目录内部有./..,不是目录的硬链接吗??
系统搜索时,并没有调用./..,诞生相对路径是为了方便搜索,也是当前目录的内容,相当于这个的硬链接是由系统筹划好了的
2.2 如何理解软连接?

特别像我们在 windows 当中的创建快捷方式,路径直接跳转

https://img-blog.csdnimg.cn/img_convert/deceeca4267846147c0149126155dc1e.png
   
页: [1]
查看完整版本: 【Linux详解】基础IO:软硬连接 | 动静态库管理