【Linux】软硬连接

目录

一.现象

二.硬链接

用处

三.软链接

用处

​编辑


hello,大家好,今天,我们要学习的内容是软硬链接的。我们将从软连接的作用,硬链接的作用

和软硬链接的区别等方面学习。那我们就开始啦!

在看本篇博客之前,为了更好的理解软硬链接,建议先看

一.现象

二.硬链接

如何创建硬链接:

ln  目标文件     生成的软链接文件

 

如图,我们发现:这两个文件的inode编号是一样的 。所有我们断定这里的建立硬链接根本没有创建新的文件,因为没有分配新的inode。既然没有创建新的文件,那么一定没有自己的属性集合和内容集合。

所以,建立硬链接,就做了简简单单一件事:就是在指定路径下,新增文件名和Inode的映射关系。

除此之外,我们发现当我删除源文件时,依旧可以从硬链接中读取内容,引用计数随之减1。这不就是相当于给源文件换个了名称吗! 

什么时候一个文件算是被真正的删除呢?

我们之前讲过,我们想要删除一个文件并不是我们直接删除的,而是把我们删除这个文件的想法告诉操作系统,然后操作系统会将这个文件的引用计数减去1,等到该文件的引用计数等于0时,操作系统才会下令将这个文件删除。

那,硬链接有啥作用啊?应用是什么呀?

用处

 如图我们发现一个新的空目录的引用计数为2。这是因为在一个空目录下,并不是不存在文件,而是有两个文件,分别为“.”“..”分别表示当前路径和上一级路径。然后我们发现空目录的inode编号和“.”的inode编号是同一个,所以“.”就是这个目录的硬链接。

接着,我们在这个空目录下,再创建一个空目录,这时,空目录的引用计数变为了3。然后在新创建的空目录中有一个文件名为“..”的文件,这个文件和空目录的文件也是相同的。也是空目录的硬链接。所以,空目录的引用计数由2变为3。

其实,我们使用"cd .."就可以返回上一级目录,这是因为“..”是上一级目录的硬链接的缘故。

三.软链接

 

我们发现:通过硬链接建立起来的文件的inode和源文件不同,说明通过硬链接重新建立起来一个文件,新文件有自己独立的inode和数据块。但是一删除源文件,然后打开硬链接文件,显示找不到源文件,因为硬链接文件中保存的源文件的路径。为了验证我们的判断,我们在相同的路径先下创建一个同名文件:

所以,我们确认:软链接是根据路径查找源文件的。 

 软链接和windows下快捷方式是一样的,删除快捷方式不影响应用程序,删除应用程序会导致快捷方式失效。

用处

我们知道:windows下的快捷方式优点是方便,快捷。软链接有是如此。举个例子

有些文件藏得很深,调用起来很麻烦,这时就可以使用软链接,在较浅路径下创建一个软链接,在较浅路径下就可以调用较深处的可执行程序。 

写到这个,软硬链接的内容就结束了,因水平有限,文中难免会有错误,请各位读者指正!!

相关推荐

  1. Linux链接和连接是什么?

    2024-06-16 11:32:03       40 阅读
  2. Linux下的链接

    2024-06-16 11:32:03       38 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 11:32:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 11:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 11:32:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 11:32:03       20 阅读

热门阅读

  1. 【LeetCode 383】 赎金信

    2024-06-16 11:32:03       10 阅读
  2. 民法通则配套规定(二)

    2024-06-16 11:32:03       7 阅读
  3. ChatTTS开源项目推荐

    2024-06-16 11:32:03       9 阅读
  4. 服务发现全流程解析-APOLLO7.0

    2024-06-16 11:32:03       8 阅读
  5. uniapp实现内嵌其他网页的功能

    2024-06-16 11:32:03       6 阅读
  6. [CODE:-5504]没有[SYS.SYSOBJECTS]对象的查询权限

    2024-06-16 11:32:03       10 阅读
  7. KaTex在博客中显示数学公式

    2024-06-16 11:32:03       8 阅读
  8. Linux安装ActiveMQ

    2024-06-16 11:32:03       7 阅读
  9. golang字符串拼接和strings.Builder

    2024-06-16 11:32:03       6 阅读