作为一个计算机用户,如果你必须定义一个快捷方式,你可能会说它是指向文件、文件夹或应用程序的指针,对吗?没错。
但这个简短的定义并不能说明全部。这意味着所有的捷径都是相同的,而不是相同的。您几乎有几种快捷方式类型。我们将关注下面的符号链接。它也被称为符号链接或软链接,我们将互换使用这些术语。
让我们看看什么是符号链接,如何在Linux以及macOS和Windows上创建符号链接,为什么需要这种特殊类型的快捷方式,等等。
符号链接确实是一个快捷方式文件。但是它不同于标准的快捷方式,比如说,程序安装程序放在你的Windows桌面上使程序更容易运行。
当然,单击任一类型的快捷方式都会打开链接的对象,但是在这两种情况下,引擎盖下的操作是不同的,我们将在下面看到。
当标准快捷方式指向某个对象时,符号链接使其看起来好像链接的对象确实在那里。您的计算机及其应用程序将符号链接作为目标对象本身读取。
在macOS上,当您尝试在与原始对象相同的位置创建符号链接时,会出现一条“file exists”消息来证明这一点。即使在其他地方创建符号链接后尝试将其移动到同一位置,也会将其重命名为副本。
假设您的硬盘上有一个特定的文件夹,您想与Dropbox同步,而不将文件夹本身移动到Dropbox。
在这种情况下,在Dropbox中创建文件夹的快捷方式是毫无意义的。快捷方式将在您创建它的设备上工作。Dropbox也会同步快捷方式。但是,当您从另一台计算机访问同步的快捷方式文件时,它是无效的,即,它不会指向任何地方。
现在,如果这个快捷方式是一个符号链接,你就不会面对这个问题。这是因为Dropbox将符号链接读取为实际文件夹,并因此同步该文件夹中的数据。然后,您可以访问启用了Dropbox同步的所有设备上的文件夹及其内容,即使原始文件夹不是Dropbox的一部分。
请记住,无论是常规快捷方式还是符号链接,删除它都不会以任何方式影响原始对象。
一般来说,如果您想:
您可能会遇到许多其他符号链接的用例。
可以使用终端或命令行创建软链接。如果你不喜欢摆弄终端的话,我们稍后会直截了当地使用工具。
在Linux上,可以使用以下终端命令为文件或文件夹创建符号链接:
ln -s [/path/to/file] [/path/to/symlink]同样的命令也适用于macOS,因为macOS是基于UNIX的操作系统,比如Linux。
有关示例命令,请参见上面的屏幕截图。
某些Linux桌面环境中的本机文件管理器允许您通过右键单击菜单创建软链接,因此您可能需要检查您的file explorer应用程序是否具有该选项。
流行的Nautilus文件管理器与各种Linux发行版捆绑在一起,它有一个Make Link菜单选项,现在已经消失了。但是您仍然可以在Nautilus中创建符号链接,方法是按住Ctrl和Shift键并将目标文件拖到希望符号链接显示的位置。别担心,原始文件会放在原处的。
您需要以管理员身份打开命令提示符窗口,并键入以下命令以创建符号链接:
mklink [/path/to/symlink] [/path/to/file]对于指向目录的符号链接,必须使用/d标志稍微调整命令:
mklink /d [/path/to/symlink] [/path/to/file]如果不想使用命令行,可以使用名为linkshell Extension的图形工具来创建符号链接。它是用于文件管理的最佳Windows文件资源管理器扩展之一。
注意:系统不会阻止您在符号链接中创建符号链接,但最好避免这样做。否则,您将创建一个无限循环,这可能会导致系统范围内的服务(如防病毒扫描程序)出现问题。
如果你曾经在macOS上创建过别名,你会注意到它们的行为很像符号链接。两种类型的快捷方式都引用链接文件或文件夹的路径名。
不同之处在于,别名还使用名为inode(索引节点)的标识符标记链接对象。此标识符对于对象是唯一的,并在文件系统中跟随它。
这就是为什么即使将别名的目标移动到其他位置,别名也能正常工作的原因。用符号链接试试,你会遇到一个错误。(除非处理受系统保护的文件,否则可以毫无问题地移动别名和符号链接本身。)
当然,如果删除原始文件或重命名层次结构中较高的任何文件夹,这两种类型的快捷方式都将被证明是无用的。
无法区分别名和符号链接之间的区别,因为您已从别名的文件名中删除了别名标记?
打开每个快捷方式的“文件检查器”或“获取信息”面板,查看“常规”部分下的文件大小。如果它说(磁盘上的字节数为零),那么您正在处理一个符号链接。
使用此终端命令时,符号链接(在当前文件夹中)也会显示自己:
ls -la这个命令在Linux上也可以运行,您将看到指向原始对象位置的符号链接。
符号链接一开始可能会让人困惑,但如果你花时间去理解它们,你会发现它们毕竟很容易使用!
你甚至可以用Termux在Android上创建符号链接,Termux是一个允许你使用Linux命令行的应用程序。你知道你可以用符号链接更容易地共享Google驱动器文件吗?
... shutil.copy([source directory path], [destination directory path], follow_symlinks=True) ...
...的模块。在这种情况下,您需要UniEmoji来允许它键入表情符号。您需要从源代码处安装它才能正常工作。使用这些命令很容易做到: ...
... 编辑器命令实际上是一个符号链接(symlink)。你可能会问,有没有nano的链接?不!命令/usr/bin/editor是指向/etc/alternatives/editor的链接。/etc/alternatives目录是将系统中的所有备选方案作为符号链接进行管理的地...
...何必要的事情来修复符号链接。 请注意,如果尝试运行symlink,则得到的错误引用的是symlink名称,而不是symlink指向的程序的名称。 我们键入以下内容: ./hello 查找断开的符号链接 大多数find的现代版本都有xtype(扩展类型)选...
...以轻松地在文档中创建和自定义多级列表。你可以用项目符号、数字、甚至字母顺序来格式化你的列表。我们来看看这个过程。 如何创建多级列表 打开浏览器,进入googledocs主页,打开一个新文档。 在googledocs中创建多级列表...
...文件夹重命名为其他文件夹。这是因为您将创建一个新的symlink文件夹,而Windows不允许您有两个同名的文件夹,即使其中一个文件夹只指向您在第一步中创建的新文件夹。 在文件资源管理器中,浏览到C:\Windows。右键单击“Software...
...点不同。 相关:如何在Linux上创建和使用符号链接(又称Symlinks) 什么是符号链接(symbolic links)? 在macOS中,您可以在Finder中创建常规别名。别名指向文件或文件夹,但它们更像是简单的快捷方式。 符号链接是一种更高级的别...