Linux硬连接与软连接
概述
在本文中,学习如何创建和管理硬链接和符号链接(软链接). 包括以下几个方面:
- 创建硬链接和软链接
- 识别链接并了解其类型
- 理解复制文件与链接文件之间的区别
- 使用系统管理任务的链接
链接简介
在存储系统上,一个文件或目录包含在一个块集合中。有关文件的信息包含在一个inode中,它记录的信息包括所有者、上次访问时间、文件的大小、它是否是一个目录、以及可以对它进行读写访问的对象。inode号也称为文件序列号,且在特定文件系统内是唯一的。一个目录条目包含一个文件名和目录名,以及存储有文件或目录相关信息的inode的指针。
一个链接仅仅是文件或目录的一个附加目录条目,允许同一个文件或目录有两个或多个名称。一个硬链接是指向inode的一个目录条目,而一个软连接或符号链接是指向提供另一个目录条目名称的inode的一个目录条目。存储第二个名称所需的确切机制可能同时取决于文件系统和名称长度。
由于硬链接指向一个inode,且仅在特定文件系统内是唯一的,硬链接不能跨文件系统。如果一个文件有多个硬链接,仅在指向inode的最后一个链接被删除且链接数为0时文件才会被删除。
软链接或符号链接仅根据名称(而非inode)指向另一个文件或目录。软链接可以跨越文件系统界限。删除一个软链接不会删除目标文件或目录,且删除文件或目录不会自动删除任何软链接。
创建链接
首先,我们来看一下如何创建硬链接和软链接。
硬链接
使用ln命令创建一个现有文件(但不是目录,尽管系统将.和..设置为硬链接)的附加硬链接.
prompt> mkdir