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

打印 上一主题 下一主题

主题 692|帖子 692|积分 2076

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

软硬链接

1. 介绍

1.1 软连接
是一个独立文件,具有独立的 inode ,也有独立的数据块,它的数据块里面生存的是指向的文件的路径,公用 inode
   创建软连接
  1. 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 当中的创建快捷方式,路径直接跳转


   
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表