欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 软硬链接?

软硬链接?

2025/2/22 16:47:04 来源:https://blog.csdn.net/Water_VE/article/details/145690398  浏览:    关键词:软硬链接?

目录

1. 硬链接(Hard Link)

2. 软链接(Symbolic Link,符号链接)

 总结:


1. 硬链接(Hard Link)

  • 定义
    硬链接是直接指向文件数据块(inode)的链接。创建硬链接时,系统会生成一个新的文件名,但该文件名与原文件共享相同的inode。因此,硬链接与原始文件本质上是同一个文件的多个别名

  • 特点

    • 同一文件系统:硬链接必须在同一文件系统内创建,因为inode是文件系统内唯一的。

    • 链接到文件不能为目录创建硬链接(防止循环问题)

    • 独立性:删除原文件后,硬链接仍有效(数据未被删除)。

    • 相同权限与属性:所有硬链接共享相同的inode,因此权限、大小等属性完全一致。

    • 引用计数:每创建一个硬链接,inode的链接数加1只有当链接数为0时,文件数据才会被删除。

      ln 源文件 硬链接名

2. 软链接(Symbolic Link,符号链接)

  • 定义
    软链接是一个独立的文件,其内容存储的是目标文件的路径(创建一个新的文件其内容是连接的文件或目录的路径)。它类似于Windows的快捷方式通过路径指向目标文件

  • 特点

    • 跨文件系统:可以链接到不同文件系统或远程路径。

    • 链接到目录:支持为目录创建软链接。

    • 依赖目标存在性:若目标文件被删除或移动,软链接将失效(称为“悬空链接”)。

    • 独立权限:软链接自身权限通常为777(所有用户可访问),但实际权限由目标文件决定。

    • 独立的inode:软链接拥有自己的inode,与目标文件不同。

      ln -s 源文件/目录 软链接名

 总结:

硬链接的话,它是直接指向文件的数据块。也就是说,创建一个硬链接时,实际上是创建了一个新的文件名,指向同一个inode。inode是文件系统中用来存储文件元数据的数据结构,比如权限、所有者、文件大小,以及数据块的位置等。所以,当创建硬链接时,两个文件名都指向同一个inode。这样,无论通过哪个文件名访问,都是访问同一个文件内容。而且,只有当所有硬链接都被删除后,文件的数据块才会被释放。

软链接则更像是一个快捷方式。它本身是一个单独的文件,里面存储的是目标文件的路径。所以,软链接有自己的inode,但这个inode指向的内容是另一个文件的路径。如果目标文件被删除或移动了,软链接就会失效,成为所谓的“悬空链接”(dangling link)。这时候访问软链接会报错,说找不到文件。而硬链接不会有这个问题,因为它们直接指向数据块,只要还有至少一个硬链接存在,数据就不会丢失。

比如,硬链接不能跨文件系统,因为inode是文件系统内的唯一标识,而不同的文件系统可能有相同的inode号,这样会导致冲突。所以硬链接只能在同一个文件系统中创建。而软链接可以跨文件系统,因为它只是保存路径,路径可以指向任何地方,包括不同的文件系统或者网络位置。

另外,硬链接只能链接到文件,不能链接到目录。这是为了防止在目录中创建硬链接导致文件系统出现循环,影响文件系统的完整性。而软链接可以链接到目录,这也是为什么在需要链接目录的时候只能用软链接。

还有,删除原文件对两者的影响不同。删除原文件后,硬链接仍然有效,因为inode的链接数减少,但只要还有链接存在,数据就不会被删除。而软链接则会失效,因为它指向的路径不存在了。

权限方面,硬链接和原文件的权限是相同的,因为它们共享同一个inode。而软链接的权限则可能不同,因为它本身是一个独立的文件,但通常软链接的权限是777(所有用户可读、写、执行),不过实际权限由目标文件决定,访问时会检查目标文件的权限。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词