当前位置: 首页 > news >正文

【Linux】详解软硬链接

一、软硬链接的建立方法

1.1软链接的建立

假设在当前目录下有一个test.txt文件,要对其建立软链接,做法如下:

ln就是link的意思,-s表示软链接,test.txt要建立软链接的文件名,后面跟上要建立的软链接文件名

 

其中我们可以发现,建立出来的这个软链接文件是一个独立的文件,因为我们可以你看到它有自己独立的inode编号。 

1.2、硬链接的建立

假设在当前目录下有一个hello.txt文件,要对其建立软链接,做法如下:

二、软硬链接的理解

2.1硬链接的理解 

        其中我们发现,hello.hard文件并不是一个独立的文件,因为其没有自己独立的inode编号。硬链接更像是为一个文件取了一个别名。两个文件的inode编号一样,证明它们其实就是同一个文件。硬链接是建立了一个新的文件名和inode编号的映射关系,并将这组映射关系写入到所在目录的数据块中。 

硬链接数

        其中,在上面这个图中的第三列的这个数字,我们叫做硬链接数。我们可以看到,当我们对一个文件建立软链接时,这个文件的硬链接数是不会发生改变的;当我们对一个文件建立一个硬链接时,其硬链接数会加一,这个硬链接数本质上就是一个文件的inode编号和它的文件名有多少组映射关系。 所以在描述磁盘级文件的inode结构体中,一定存在一个引用计数,保存了这个文件的inode编号和它的文件名的映射关系的组数,也就是硬链接数。

        所以文件在做删除的时候,是会把inode结构体中的引用计数减一的,当引用计数减到0时,在inodebitmap和blockbitmap中将对应的比特位由一置零,这个文件才会真的被删除。

        当我们创建一个目录时,这个目录的硬链接默认就是2,因为这个目录默认就会有.这个文件名和我们给它的文件名。

        Linux系统下不允许用户对一个目录建立硬链接。因为会形成环路问题。

2.2、软链接的理解

软链接文件的内容保存的就是所指向文件的路径。软链接就类似于Windows下的快捷方式。

http://www.lryc.cn/news/329307.html

相关文章:

  • 维修贝加莱4PP420.1043-B5触摸屏Power Panel 400工业电脑液晶
  • Java_21 完成一半题目
  • 【WPF应用21】WPF 中的 TextBox 控件详解与示例
  • 小程序页面传参?
  • C++list的模拟实现
  • Leetcode 187. 重复的DNA序列
  • 都江堰泛计算操作系统(多机)应用方向
  • 【第十二届“泰迪杯”数据挖掘挑战赛】【2024泰迪杯】B题基于多模态特征融合的图像文本检索—解题全流程(论文更新)
  • 蓝桥杯22年第十三届省赛-统计子矩阵|一维前缀和加双指针
  • SaaS 电商设计 (十) 记一次 5000kw 商品数据ES迁移 (详细的集群搭建以及线上灰度过程设计)
  • linux安装Tomcat
  • 【机器学习300问】57、机器是如何读得懂文本数据的呢?
  • 了解XSS和CSRF攻击与防御
  • NEO 学习之 MLE(最大似然估计)
  • going和Java对比有什么不同
  • RabbitMQ面经 手打浓缩版
  • JavaScript引用数据类型
  • Mac m1 Flink的HelloWorld
  • 3.1 Python变量的定义和使用
  • OceanBase中左外连接和反连接的经验分享
  • 如何提升公众号搜索量?分享内部运营的5步优化技术!
  • 【2024】根据系统平均负载情况排查隐患
  • 分类任务中的评估指标:Accuracy、Precision、Recall、F1
  • android 音视频基础知识--个人笔记
  • 信息工程大学第五届超越杯程序设计竞赛(同步赛)题解
  • Python:文件读写
  • 10.windows ubuntu 组装软件:spades,megahit
  • K8S之Secret的介绍和使用
  • git下载安装教程
  • 《剑指 Offer》专项突破版 - 面试题 98、99 和 100 : 和动态规划相关的矩阵路径问题(C++ 实现)