目录
软硬链接
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
复制代码
1.2 硬链接
硬连接的 inode 是一样的,不是一个独立的文件,本质实在就是在特定目录的数据块中新增,文件名和指向的文件的 inode 编号的映射关系!!
ln 创建连接,由后者指向前者,硬链接数
观察 inode 编号可以发现,软硬链接的区别:是否具有独立的Inode。
软链接具有独立的Inode:可以被当作独立的文件看待。
2.理解
2.1 如何理解硬链接?
恣意一个文件,无论是目录,照旧普通文件,都有 inode
每一个 inode 内部,都有一个叫做引用计数的计数器,有多少个文件名指向我
通常用来举行路径定位,接纳硬链接,可以举行目录间切换
硬链接没有独立的Inode,那硬链接该如何理解呢?或者创建一个硬链接究竟是做了什么?
通过实践我们可以发现,创建目录会发现硬链接数会增加
在目录当中的运用
删文件就是解除映射关系,连接数--
这就是为什么硬链接不会一次被删除
应用场景
一个. 表示当前目录,inode 是一样的,相当于在另一个场景下的重命名,..为 3,返回的是上级路径的 inode
eg: / 硬链接数为 21,可知旗下有 19 个目录
❓ linux 不允许对目录硬链接,为什么?
如下图:
那为什么目录内部有./..,不是目录的硬链接吗??
系统搜索时,并没有调用./..,诞生相对路径是为了方便搜索,也是当前目录的内容,相当于这个的硬链接是由系统筹划好了的
2.2 如何理解软连接?
特别像我们在 windows 当中的创建快捷方式,路径直接跳转
|