前言:
- 本期,我将要给大家讲解的是有关 Linux下软硬链接的相关知识!!!
目录
前言
(一)理解硬链接
1.什么是硬链接
2.创建硬链接
3.硬链接的使用场景
(二)理解软链接
1.什么是软链接
2.创建软链接
3.软链接使用场景
(三)硬链接和软链接的对比
总结
前言
文件共享可以使多个用户共享同一份文件,系统中只需保存该文件的一个副本即可,若系统不能提供共享功能,则每个需要该文件的用户都要有各自的副本,会造成对存储空间的浪费。
现代常用的两种文件共享方法如下:
- 基于索引结点的共享方式(硬链接)
- 利用符号链接实现文件共享(软连接)
接下来,我将为大家详细的介绍上述这两种文件共享方式!!!
(一)理解硬链接
1.什么是硬链接
在树形结构的目录中,当有两个或多个用户需要共享一个子目录或文件时,必须将共享文件或子目录链接到两个或多个用户的目录中,才能方便找到该文件。
- 如下图所示:

【解释说明】
- 在这种共享方式中,诸如文件的物理地址及其他文件属性等信息,不再放在目录项之中,而是放在索引结点中。在文件目录中只设置文件名及其指向相应的索引结点的指针;
- 在索引文件中还有一个count 计数器,用于表示链接到本索引结点上的用户目录项个数;
- 当 count = 2 时,表示有两个用户目录项链接到本地文件中,或者说有两个用户共享此文件。
因此,根据上述的简单介绍。接下来我将便引出了有关硬链接的相关定义:
- 硬链接(Hard Link)是计算机文件系统中的一种链接方式,用于将一个文件与另一个文件或目录关联起来,使它们共享相同的数据块和inode(索引节点)。其次硬链接允许一个文件在文件系统中存在多个入口点,这意味着对一个硬链接文件的更改将反映在所有与之相关联的硬链接上,因为它们实际上都指向相同的数据。
2.创建硬链接
创建硬链接是在文件系统中创建一个指向目标文件的硬链接,硬链接与目标文件共享相同的 inode 和数据块,它们在文件系统中被视为同一实体,即使使用不同的文件名。
- 要创建硬链接,您可以使用
ln命令。具体的命令格式如下:
ln <目标文件> <链接名>
讯享网
以下是使用ln命令创建硬链接的示例:

【解释说明】
- 我们可以发现硬链接和目标文件用同一个 inode number ,这也就意味着硬链接一定是和目标文件使用同一个inode的!!
- 硬链接与目标文件具有相同的权限、时间戳和内容,因此对于用户来说,它们是透明的。当对目标文件或硬链接进行更改时,对另一个对象也会产生影响。
- 因此硬链接就是建立了新的文件名和老的 inode的映射关系。
💨 删除目标文件不会立即删除其硬链接,只有当最后一个指向该文件的硬链接被删除时,才会真正释放磁盘空间

- 除了上述这种删除操作之外,我们还可以使用 unlink 指令。具体如下:

【解释说明】
我们在删除文件时干了两件事情:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40328.html