📜  相对符号链接和绝对符号链接之间的区别

📅  最后修改于: 2021-08-25 10:35:35             🧑  作者: Mango

符号链接(又称符号链接)是不存储任何数据,而是以绝对或相对路径形式引用另一个文件或目录的文件。严格来说,符号链接不一定是文件,而是文件系统对象。符号链接不占用任何空间(占用的空间为0个字节),而是作为特殊项存在于文件表中。许多操作的符号链接的行为就像直接在目标文件上操作一样。在创建符号链接的过程中,类型与最终的符号链接相关联,该符号链接用于访问目标。符号链接可以是RelativeAbsolute两种类型。在本文中,我们将学习这两种类型的符号链接之间的区别,并且还将学习如何创建它们。

符号链接的类型:
符号链接有两种类型:绝对符号链接和相对符号链接。这些解释如下。

1.相对符号链接:
相对符号链接是目标对象具有相对路径的符号链接。相对路径是基于当前工作目录的路径。目标文件/文件夹的路径将根据符号链接的当前路径进行计算。因此,没有可以说的明确路径。因为总是根据符号链接的当前位置来计算路径。例如,假设符号链接(文件)具有以下目标路径。

..\Apples

上述符号链接是相对符号链接。原因是因为它的路径中有..(双倍句号),用于表示文件管理器当前所在目录的父目录。由于文件可以在任何地方,因此它是动态的,但是它将在其父目录中名为apples的文件中查找目标文件。因此,目标路径取决于文件的路径。

应当指出的是,双句点(..)是不连续的字面量两个时段,而是目录操作数引用父目录。

创建相对符号链接:
为了在Windows上创建相对符号链接,我们将使用mklink命令。创建相对符号链接的语法如下:

mklink new_Link_name Target_path

并且目标路径应该是相对的。在以下示例中,我们将创建一个名为Floss的文件符号链接,其目标文件(名为test.jpg )位于其父目录的子目录之一(名为Bin )中。

例子 :

为了在Windows上创建符号链接,必须以提升的特权执行命令提示符( cmd )

2.绝对符号链接:
绝对符号链接是符号链接,其目标是绝对/完整路径。绝对路径是独立存在的路径,并且不依赖于当前工作目录。无论符号链接的位置如何,目标文件/文件夹的路径将始终相同。例如,假设符号链接(文件)具有以下目标路径。

C:\Program Files\Windows\Leon.txt

上述符号链接是绝对符号链接。原因是因为它包含硬编码的目标路径。由于这与符号链接的位置无关,因此仅针对一个路径查找目标文件。

创建绝对的符号链接:
为了在Windows上创建绝对符号链接,我们将使用mklink命令。创建相对符号链接的语法如下:

mklink new_Link_name full_Target_path

full_target_path应该是目标文件的完整路径(包括驱动器说明符)。在下面的示例中,我们将创建一个名为Lesson.txt的文件符号链接,目标位置为C:\ Users \ French \ Workshop.txt。

例子 :

笔记 :
应该注意的是,符号链接的类型(相对/绝对)不取决于提供源路径(New_Link_Path)的方式。因此,可以根据喜好相对或绝对地提供新的链接路径,因为它不会影响符号链接的类型。目标路径是类型的决定因素。