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

📅  最后修改于: 2021-09-10 03:07:17             🧑  作者: 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)的方式。因此,可以根据偏好提供相对或绝对的新链接路径,因为它不会影响符号链接的类型。它是类型的决定因素的目标路径