作为计算机用户,如果必须定义快捷方式,您可能会说它是指向文件,文件夹或应用程序的指针,对吗?没错。
但是这个简短的定义根本无法说明整个故事。这意味着所有快捷方式都不相同。您几乎有几种快捷方式类型。我们将重点关注下面的符号链接。它也称为符号链接或软链接,我们将互换使用这些术语。
让我们看看什么是符号链接,如何在Linux以及macOS和Windows上创建符号链接,为什么需要
什么是符号链接?
确实,符号链接是快捷方式文件。但这与标准快捷方式不同,例如,程序安装程序已放置在Windows桌面上,以使程序更易于运行。
当然,单击任一类型的快捷方式都可以打开链接的对象,但是
尽管标准快捷方式指向某个对象,但是符号链接使它看起来好像链接的对象实际上在其中一样。
您的计算机及其上的应用程序将读取符号链接作为目标对象本身。
在macOS上,您会以“文件存在"消息的形式获得此证明,当您尝试创建文件时会出现该消息。符号链接位于与原始对象相同的位置。即使您在其他位置创建符号链接后尝试将其移动到同一位置,它也会被重命名为副本。
假设您的硬盘上有一个要同步的文件夹使用Dropbox而不将文件夹本身移动到Dropbox。
在这种情况下,在Dropbox中创建文件夹的快捷方式是没有意义的。该快捷方式将在创建它的设备上运行。 Dropbox也将同步快捷方式。但是,当您从另一台计算机访问同步的快捷方式文件时,该无效的文件无效,即无处可通。
现在,如果该快捷方式是符号链接,则不会遇到此问题。这是因为Dropbox会将符号链接读取为实际文件夹,并因此同步该文件夹中的数据。然后,即使原始文件夹不是Dropbox的一部分,也可以在所有启用了Dropbox同步的设备上访问该文件夹及其内容。
请记住,这是常规快捷方式还是符号链接,将其删除不会以任何方式影响原始对象。
为什么需要符号链接?
通常,在您创建符号链接而不是快捷方式时是一个好主意想要
您可能会遇到许多其他用于符号链接的用例。
如何创建符号链接< /
您可以使用终端或命令行创建软链接。如果您对终端不满意,我们将在稍后提供点击工具。
在Linux上,您可以使用以下终端命令为文件或文件夹创建符号链接:
ln -s [/path/to/file] [/path/to/symlink]
由于macOS是Linux之类的基于UNIX的操作系统,因此同样的命令也适用于macOS。
请参见上面的屏幕截图中的示例命令。
某些Linux桌面环境中的本机文件管理器允许您通过右键单击菜单创建软链接,因此您可能要检查文件浏览器应用程序是否具有该选项。
流行的Nautilus文件管理器与各种Linux发行版捆绑在一起的 Make Link 菜单选项现已消失。但是您仍然可以通过按住 Ctrl 和 Shift 键并将目标文件拖到想要显示符号链接的位置来在Nautilus中创建符号链接。不用担心,原始文件会保留。
您需要以管理员身份打开命令提示符窗口,然后键入以下命令来创建符号链接:
mklink [/path/to/symlink] [/path/to/file]
对于指向目录的符号链接,您必须使用 / d 标志稍微调整一下命令:
mklink /d [/path/to/symlink] [/path/to/file]
如果您不想使用命令行,您可以使用称为“链接外壳扩展"的图形工具来创建符号链接。这是用于文件管理的最佳Windows File Explorer扩展之一。
注意:系统不会阻止您在符号链接中创建符号链接,但是最好是避免这样做。否则,您将创建一个无限循环,可能导致系统范围的服务(如防病毒扫描程序)出现问题。
在MacOS上的符号链接与别名
如果您曾经创建过别名在macOS上,您会注意到它们的行为很像符号链接。两种类型的快捷方式均引用链接文件或文件夹的路径名。
区别在于别名也使用称为 inode (索引节点)的标识符标记了链接的对象。该标识符是对象唯一的,并且在文件系统中跟随该标识符。
这就是为什么即使您将其目标移动到其他位置,别名也可以正常工作的原因。尝试使用符号链接进行操作,您会遇到错误。 (除非您要处理受系统保护的文件,否则您可以移动别名和符号链接本身没有任何问题。)
当然,如果您删除原始文件或重命名层次结构中较高位置的任何文件夹。
无法分辨出别名和符号链接之间的区别,因为您已从别名的文件名中删除了 alias 标记?
打开每个快捷方式的文件检查器或获取信息面板,然后在常规部分下查看文件大小。如果显示(磁盘上的零字节),则说明您正在处理符号链接。
符号链接(在当前文件夹中)也会在您使用此终端命令时显示出来:
ls -la
该命令也适用于Linux,并且您会看到符号链接指向原始对象的位置。
符号链接比快捷方式要好
符号链接最初看起来似乎很混乱,但是如果您花一些时间来理解它们,您将意识到它们毕竟非常易于使用!
您甚至可以使用以下命令在Android上创建符号链接Termux,一个使您可以使用Linux命令行的应用程序。您是否知道可以通过符号链接更轻松地共享Google云端硬盘文件?