什么是Mac上的别名,符号链接和硬链接?

什么是Mac上的别名,符号链接和硬链接?

Mac的OS X和macOS操作系统支持几种类型的文件和文件夹快捷方式链接。快捷方式链接可以轻松导航到深埋在文件系统中的对象。Mac支持三种类型的快捷链接:别名,符号链接和硬链接。

所有三种类型的链接都是原始文件系统对象的快捷方式。文件系统对象通常是Mac上的文件,但也可以是文件夹,驱动器或联网设备。

别名,符号链接和硬链接概述

快捷方式链接是引用另一个文件对象的小文件。当系统遇到快捷方式链接时,它会读取文件,其中包含有关原始对象所在位置的信息,然后继续打开该对象。在大多数情况下,这发生在用户没有意识到他们遇到某种类型的链接的情况下。所有这三种类型的链接对于使用它们的用户或应用程序都是透明的。

这种透明性允许快捷链接用于许多不同的目的。最常见的一种方法是方便地访问深埋在文件系统中的文件或文件夹。例如,您可能在Documents文件夹中创建了一个记帐文件夹,用于存储银行对帐单和其他财务信息。如果经常使用此文件夹,则可以为其创建别名并将其放置在桌面上。您可以单击其桌面别名,而不是使用Finder导航到多个文件夹级别来访问记帐文件夹。别名将您带到文件夹及其文件,缩短了长时间的导航过程。

文件系统快捷方式的另一个常见用途是在多个位置使用相同的数据,而无需复制数据或保持数据同步。

返回到记帐文件夹示例,您可能有一个用于跟踪股票市场选择的应用程序,并且应用程序需要将其数据文件存储在某个预定义文件夹中。您可以创建别名或符号链接,而不是将会计文件夹复制到第二个位置并担心保持两个文件夹同步,以便股票交易应用程序在其专用文件夹中查看数据,但访问存储在其中的数据你的会计文件夹。

所有这三种类型的快捷方式都是从其原始位置以外的方式访问Mac文件系统中的对象的方法。每种类型的快捷方式都具有独特的功能,比其他功能更适合某些用途。

别名

别名是Mac最古老的快捷方式; 它的根源一直追溯到System 7.它也是最受欢迎的。大多数Mac用户都知道如何创建别名以及如何使用它们。

别名是在Finder级别创建和管理的,这意味着如果您使用的是终端或非Mac应用程序,例如许多UNIX应用程序和实用程序,则别名将无效。OS X将别名视为小数据文件,但它不知道如何解释它们包含的信息。

这似乎是一个缺点,但别名是三种类型的快捷方式中最强大的。对于Mac用户和应用程序,别名也是快捷方式中最通用的。

为对象创建别名时,系统会创建一个小数据文件,其中包含对象的当前路径以及对象的inode名称。每个对象的inode名称都是一长串数字,与您为对象提供的名称无关,并且保证对于Mac使用的任何或驱动器都是唯一的。

创建别名文件后,您可以将其移动到Mac文件系统中的任何位置,它仍然指向原始对象。您可以根据需要多次移动别名,它仍然可以连接到原始对象。这很聪明,但别名更进一步。

除了移动别名之外,您还可以将原始项目移动到Mac文件系统中的任何位置。别名仍然能够找到该文件。别名可以执行这个看似神奇的技巧,因为它们包含原始项目的inode名称。由于每个项目的inode名称都是唯一的,因此无论您将其放在何处,系统始终都可以找到原始文件。

该过程的工作方式如下:当您访问别名时,系统会检查原始项是否位于别名文件中存储的路径名中。如果是,系统会访问它,就是这样。如果对象已移动,则系统将搜索与存储在别名文件中的文件名相同的文件。当找到匹配的inode名称时,系统将连接到该对象。

制作文件别名很简单。在Finder窗口中选择文件名,点击cog图标,然后选择Make Alias。

符号链接

符号链接(或符号链接)和硬链接不太常见,它们在终端应用程序中需要一定程度的舒适度。

符号链接是一种快捷方式,是UNIX和Linux文件系统的一部分。因为OS X是在UNIX之上构建的,所以它完全支持符号链接。符号链接类似于别名,因为它们是包含原始对象的路径名的小文件。但是,与别名不同,符号链接不包含对象的inode名称。如果将对象移动到其他位置,则符号链接会断开,系统无法找到该对象。

这似乎是一个弱点,但它也是一种力量。由于符号链接通过其路径名查找对象,因此如果将对象替换为具有相同名称且位于相同位置的另一个对象,则符号链接将继续有效。这使得符号链接成为版本控制的自然选择。例如,您可以为名为MyTextFile的文本文件创建一个简单的版本控制系统。您可以使用附加的数字或日期保存文件的旧版本,例如MyTextFile2,并将文件的当前版本保存为MyTextFile。

硬链接

与符号链接一样,硬链接也是底层UNIX文件系统的一部分。硬链接是小文件,与别名一样,包含原始项的inode名称。与别名和符号链接不同,硬链接不包含原始对象的路径名。当您希望单个文件对象出现在多个位置时,通常使用硬链接。与别名和符号链接不同,您无法在不先删除所有硬链接的情况下从文件系统中删除原始的硬链接对象。此页面是否有帮助?


分享到: