如何在Mac上创建和使用符号链接(也称为Symlink

符号链接也称为符号链接,是指向系统上其他位置的文件或目录的特殊文件。您可以将其视为高级别名,下面介绍如何在MacOS中使用它们。

符号链接类似于别名,不同之处在于它们可以在Mac上的每个应用程序中工作-包括在终端中。当应用程序不想使用常规别名正常工作时,它们特别有用。在MacOS上,您可以使用ln实用程序在终端中创建符号链接。你不能在Finder中创建它们。MacOS中的符号链接与Linux中的符号链接的工作方式相似,因为它们都是类似Unix的操作系统。Windows中的符号链接的工作方式略有不同。

相关:如何在Linux上创建和使用符号链接(也称为Symlink

什么是符号链接?

在MacOS中,您可以在Finder中创建常规别名。别名指向文件或文件夹,但它们更像是简单的快捷方式。

符号链接是一种更高级的别名类型,可以在系统上的每个应用程序中使用,包括终端中的命令行实用程序。您创建的符号链接在应用程序中看起来与它所指向的原始文件或文件夹相同-尽管它只是一个链接。

例如,假设您有一个程序需要将其文件存储在/Library/Program中。但是您希望将这些文件存储在系统上的其他位置-例如,在/Volumes/Program中。您可以将Program目录移动到/Volumes/Program,然后在/Library/Program处创建指向/Volumes/Program的符号链接。该程序将尝试访问其位于/Library/Program的文件夹,操作系统会将其重定向到/Volumes/Program。

这对于MacOS操作系统和您使用的应用程序是完全透明的。如果您浏览到Finder或任何其他应用程序中的/Library/Program目录,它将显示为包含/Volumes/Program内的文件。

除了有时称为“软链接”的符号链接之外,您还可以创建“硬链接”。符号或软链接指向文件系统中的路径。例如,假设您有一个从/Users/Example指向/opt/Example的符号链接或软链接。如果移动/opt/example中的文件,则/Users/Example中的链接将断开。但是,如果创建硬链接,它实际上将指向文件系统上的底层inode。因此,如果您从/Users/Example创建了指向/opt/Example的硬链接,然后移动了/opt/Example,则/Users/Example处的链接仍然指向该文件,无论您将其移动到哪里。硬链接在较低级别工作。

如果不确定使用哪种链接,通常应该使用标准符号链接(软链接)。硬链接有一些限制。例如,您不能在一个分区或磁盘上创建指向另一个分区或磁盘上的位置的硬链接,而可以使用标准符号链接创建硬链接。

使用ln命令创建符号链接

要在Mac上创建符号链接,您需要使用终端应用程序。

按Command+Space,键入“Terminal”,然后按“Enter”从Spotlight Search打开终端。导航到Finder>Applications>Utilities>Terminal以启动终端快捷方式。

以以下形式运行ln命令。*您可以指定目录或文件的路径:

ln -s /path/to/original /path/to/link

这里的-s告诉ln命令创建符号链接。如果您想创建一个硬链接,您应该省略-s。大多数情况下,符号链接是更好的选择,所以不要创建硬链接,除非你有具体的理由这样做。

这里有一个例子。假设您想要在Desktop文件夹中创建指向Downloads文件夹的符号链接。您将运行以下命令:

ln -s /Users/name/Downloads /Users/name/Desktop

创建链接后,您将看到您的下载文件夹出现在桌面上。它实际上是您创建的符号链接,但看起来会像真的一样。此文件夹将显示为包含与下载文件夹相同的所有文件。这是因为它确实如此-它们只是指向文件系统上相同底层目录的不同视图。

如果您的文件路径包含空格或其他特殊字符,则需要用引号将其引起来。因此,如果要在桌面上创建指向用户目录中名为“My Files”的文件夹的链接,则需要类似以下命令:

ln -s "/Users/name/My Files" "/Users/name/Desktop/My Link"

为方便在终端中键入文件和目录路径,您可以将文件夹从Finder窗口拖放到终端中,终端将自动填写该文件夹的路径。如果需要,它还会用引号将路径括起来。

如果需要在您的用户帐户无权访问的系统位置创建符号链接,则需要在ln命令前面加上sudo命令,如下所示:

sudo ln -s /path/to/original /path/to/link

相关:如何在Mac上禁用系统完整性保护(以及为什么不应该禁用)

请记住,在现代版本的MacOS上,由于系统完整性保护功能,在不更改低级固件选项的情况下,将不允许您写入某些系统位置。您可以禁用该功能,但我们建议您不要禁用。

如何删除符号链接

您可以像删除任何其他类型的文件一样删除符号链接。例如,要删除Finder中的符号链接,请按住Ctrl键并单击或右键单击该链接,然后选择“移动到垃圾桶”。

您可以使用rm命令从命令行删除链接,该命令与用于删除其他文件的命令相同。运行命令并指定要删除的链接的路径:

rm /path/to/link

如何使用图形工具创建符号链接

Finder可以创建别名,但它们不会像符号链接那样工作。别名就像Windows上的桌面快捷方式。它们不会被视为真正的、透明的符号链接。

为了能够在Finder中创建符号链接,您需要第三方实用程序或脚本。我们推荐开源应用程序SymbolicLinker,用于将服务>创建符号链接选项快速添加到Finder的上下文菜单中。

单击它添加的选项,它将在当前目录中创建指向所选文件或文件夹的符号链接。您可以重命名它并将其移动到您喜欢的任何位置。

如果您以前没有使用过符号链接,那么符号链接可能需要一些时间来理解并习惯使用。但是,一旦你这样做了,你会发现它们是一个强大的工具,用来做一些你通常不能用普通别名做的事情。

相关文章