Linux中硬链接和软链接的区别与联系!

 我来答
舒适还明净的海鸥i
2022-07-24 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:69.4万
展开全部
  链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。在Linux操作系统中,链接被分为两种:软链接(SoftLink,符号链接)和硬链接(HardLink)。那么什么是软链接?什么是硬链接?Linux中软链接和硬链接之间有什么区别和联系?以下是详细的内容介绍。

  为解决文件的共享使用,Linux系统引入了两种链接:硬链接和软链接。在Linux中,元数据中的inode号才是文件的唯一标识而非文件名,文件内容要通过inode号来寻找,犹如交通指示牌一样,指示着数据找寻的方向。

  硬链接(Hard Link)

  A和B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除其中一个,对另外一个没有任何影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。

  注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块只有在inode节点链接数减少为0的时候才会被系统回收。

  软链接(Soft Link)

  A是B的软链接,A的目录项中的inode节点号与B的目录项中的节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名。A和B之间是主从关系,如果B被删除了,A依然存在,但指向的是一个无效的链接。

  Linux中软链接和硬链接之间有什么区别和联系?

  概念不同:

  软链接可以理解成快捷方式,和原文件的inode号不一样,它和Windows下的快捷方式的作用是一样的,软链接数据块中记录的亦是相对路径指向。

  硬链接和原文件对应一个inode,就是对应一个文件,可以理解成一个文件有几个别名。

  用法不同:

  软链接可以理解成快捷方式,也清楚知道原文件在哪里。它和Windows下的快捷方式的作用是一样的,和Windows一样,删除源文件,快捷方式也就无法使用了。

  硬链接可以看成一个备份,但并没有增加空间,因为文件就一个,这种可以防止源文件删除后不能使用问题;同时也有局限性,不能对目录和跨文件系统使用。

  语法格式(ln):

  硬链接:ln 源文件 链接名

  软链接:ln -s 源文件 链接名

  注意:链接的源文件路径要写绝对路径,否则会报错。
Storm代理
2023-07-25 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式