硬链接
基本概念:
- 硬链接直接指向文件系统的inode号,实际上可以看作是文件的另一个名字。硬链接和原文件实际上是同一个文件,只是名字不同。
特点:
- 硬链接不能跨文件系统创建,因为不同的文件系统有不同的inode号。
- 本质就是在目录的数据块新增文件名和指定文件的inode编号的映射关系;
- 目录里保存的是文件名:inode编号的映射关系
- 硬链接不能链接目录,防止形成循环链接。
- 每多一个硬链接,原文件的引用计数+1
删除硬链接或原文件,文件的内容并不会被删除,只有当所有的硬链接和原文件都被删除后,文件的数据才会被删除。
- 硬链接的文件有相同的权限和所有者。
命令:
- 使用ln命令创建硬链接,例如:ln [原文件] [硬链接名]
删除硬链接:
- unlink [链接名]
使用场景
- 硬链接:通常用于备份重要文件,防止文件被误删。
- 进行路径定位,实现目录切换
./..硬链接表示:
- 一个点当前目录硬链接
- 两个点上级目录硬链接
根目录下的硬链接:
- 根目录下的引用计数个数包括--自己当前目录的和..上级目录的
- 根目录中..上级目录还是自己也会让引用计数+1
软链接
基本概念:
- 软链接类似于Windows系统中的快捷方式,它实际上是一个特殊的文件,包含了指向原文件路径的文本信息。
特点:
- 软链接是一个独立文件具有独立inode,也有独立数据块里面保存指向的文件的路径(类似window桌面快捷方式)
- 软链接可以跨文件系统创建。
- 软链接可以链接目录。
- 删除软链接并不会影响原文件,但如果原文件被删除,软链接将失效,成为“断链”。
- 软链接有自己独立的权限和所有者。
命令:
- 使用带-s选项的ln命令创建软链接,例如:ln -s [原文件或目录] [软链接名]
删除硬链接:
- unlink [链接名]
使用场景
- 软链接:常用于创建快捷方式,特别是在文件系统结构需要频繁更改的情况下。
Linux中的软硬链接
于 2024-07-29 16:57:25 首次发布