首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么硬链接仅在同一个文件系统中有效?

为什么硬链接仅在同一个文件系统中有效?
EN

Unix & Linux用户
提问于 2016-06-18 04:57:20
回答 5查看 21.5K关注 0票数 30

我正在读马克·贝茨的命令行介绍

在第一章中,他提到硬链接不能跨越文件系统。

关于硬链接,需要注意的一点是,它们只在当前的文件系统上工作。无法在其他文件系统上创建指向文件的硬链接。要做到这一点,需要使用符号链接,第1.4.3节。

我只知道一个文件系统。从根开始的(/)。这种硬链接不能跨越文件系统的说法对我来说毫无意义。

维基百科的关于Unix文件系统的文章也没有帮助。

EN

回答 5

Unix & Linux用户

回答已采纳

发布于 2016-06-18 05:34:48

希望我能以一种对你来说有意义的方式来回答这个问题。Linux中的文件系统通常由一个分区组成,分区以多种方式格式化(必须喜欢选择!)你把你的文件储存在上面。不管是你的系统文件还是你的个人文件..。它们都存储在一个文件系统中。这部分你似乎明白了。

但是,如果您将硬盘分区为多个分区(比如Apple将其分割成碎片),或者添加一个额外的硬盘驱动器(可能是USB棒),该怎么办?为了便于论证,它们都有文件系统。

当您查看计算机上的文件时,您将看到分区文件系统上的数据的可视化表示。每个文件名对应于所谓的inode,而inode是数据在幕后真正存在的地方。硬链接允许您有多个指向同一个inode的“文件名”(因为缺少更好的描述)。只有当这些硬链接位于同一个文件系统上时,才能工作。一个符号链接指向“文件名”,然后链接到保存数据的inode。原谅我粗俗的艺术品,但希望这能解释得更好。

代码语言:javascript
运行
复制
image.jpg             image2.jpg
          \           /
           [your data]

在这里,image.jpg和image2.jpg都直接指向您的数据。它们都是硬链接。然而..。

代码语言:javascript
运行
复制
image.jpg    <-----------  image2.jpg
           \ 
             [your data]

在这个(粗糙的)示例中,image2.jpg没有指向您的数据,而是指向image.jpg.这是到你的数据的链接。

符号链接可以跨文件系统边界工作(假设文件系统被附加和挂载,就像你的usb接口)。然而,一个硬链接不能。它不知道您的其他文件系统上有什么,也不知道您的数据存储在哪里。

希望这有助于更好地理解。

票数 40
EN

Unix & Linux用户

发布于 2016-06-18 06:09:30

文件系统由目录结构组成,目录结构用于组织文件。每个目录条目都将一个文件名与一个inode相关联。

软链接(符号)是不包含数据的目录条目,它只是指向另一个条目(同一文件系统或其他文件系统中的文件或目录)。当您删除指定文件时,符号链接将不可用。

硬链接是包含文件名和inode编号的目录条目。删除最后一个硬链接时,无法再访问该文件。

结论:

由于inode是用来表示文件系统对象的数据结构,它是文件系统的内部结构,您不能指向另一个文件系统的inode

因此,硬链接只在同一个文件系统中有效,但是软链接(符号链接)可以跨越文件系统,因为它们只是指向另一个目录条目(文件系统的接口,而不是内部对象)。

票数 29
EN

Unix & Linux用户

发布于 2016-06-18 14:25:57

硬链接具有保持目标存活的作用。只要任何硬链接都是可访问的,系统就会确保其目标不能被释放。因此,有必要在系统试图确定是否存在对某个inode的引用时,安装所有可能包含指向特定inode的硬链接的媒体。

考虑到inode的生存期通常是通过保持引用计数而不是扫描引用来确定的,因此可能有可能安排一些事情,即可以独立使用两个或多个相互拥有链接的文件系统,条件是不需要使用连接在系统之间的链接,并且不需要在其中一个系统上使用fsck。但是,如果inode依赖于其中一个系统受到干扰,使该系统再次有用的唯一方法是使用一种fsck操作,它可以扫描两个文件系统以获得引用。由于这种限制,虽然允许两个相互链接的文件系统可以独立使用是可能的,但这样做的好处可能太有限,不值得使用。

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/290525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档