首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过重命名原始链接文件而禁用的符号链接

问通过重命名原始链接文件而禁用的符号链接
EN

Unix & Linux用户
提问于 2018-03-14 02:57:32
回答 2查看 3.1K关注 0票数 1

我学到了与HardLink不同的是,SoftLink实际上是在硬盘中存储原始文件的信息。我制作了test1 (原始文件)和test2(软链接的test1),然后我mv(重命名)test1到test3,所以softlink test2->test3 1变成了红色和失活。我认为链接使用Inode号,test1和test3有相同的Inode编号,但是SoftLink不工作。

以下是问题:软链接需要哪些信息才能激活Link??

EN

回答 2

Unix & Linux用户

发布于 2018-03-14 03:53:31

软链接,也称为符号链接,跟踪一个文件的名称,而不是它的inode。正因为如此,您链接到的文件可以定位在任何地方,而不仅仅是在同一个文件系统上(与硬链接不同);另一个特性是,软链接可以指向其他软链接,最多可以指向其他软链接。软链接本质上是一个特殊的文件,它将目标路径存储在其中,但是Linux知道这种类型的文件,并读取“内部”路径,并尝试使用目标文件的权限访问该文件。程序可以要求Linux不要遵循链接,而是提供有关文件本身的信息(这是ls可以向您显示目标路径的方式);然而,大多数程序只关心链接指向的位置。

因此,要回答你的问题,一个软链接包含所有的信息,是需要的内部。然后,操作系统完成所有跟踪链接指向的位置的工作。

票数 4
EN

Unix & Linux用户

发布于 2018-03-15 15:27:33

软链接只链接到文件名,而不链接到inode编号。如果重命名原始文件,软链接就会中断,而链接现在不知道它指向何处。贴出这张照片的答案之一(我不记得,我很久以前就把这张照片保存在手机里了):

如果原始文件被重命名,my-soft-link将指向一个不再存在的文件名,因此当链接或指针被破坏时会变成红色。在这种情况下,my-soft-link将类似于一个悬空指针。它指向一个不存在的文件。

另一方面,硬链接中没有这样的问题,因为硬链接直接指向inode号。因此,如果重命名原始文件,my-hard-link将不会成为一个悬空指针。

因此,为了重新激活符号链接,可以通过使符号链接指向重命名的文件来更新符号链接。

代码语言:javascript
复制
ln -sfn test3 test2
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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