Windows 中有哪些不同的链接类型?如何创建它们?

Windows 中有哪些不同的链接类型?如何创建它们?

在 Windows 下,是否可以链接两个文件或文件夹而无需不同的扩展名?

我正在寻找与 Unix 中的软链接和硬链接等效的功能。

答案1

请注意,唯一不幸的区别是,你需要管理员权限才能创建符号链接。IE,您需要提升权限。(解决方法是创建符号链接权限可以通过 授予普通用户secpol.msc。)

术语说明:Windows 快捷方式不称为“符号链接”;它们是外壳链接,因为它们只是 Windows 资源管理器 shell 特殊处理的文件。


符号链接:如何在 NTFS 文件系统上创建它们?

Windows Vista 及更高版本支持 Unix 风格符号链接在 NTFS 文件系统上。 请记住,它们也遵循相同的路径解析——相对链接是相对于链接位置而不是当前目录创建的。人们经常忘记这一点。它们也可以使用绝对路径实现;例如 c:\windows\system32 而不是 \system32(它转到与链接位置相关的 system32 目录)。
符号链接使用以下方式实现重新解析点并且通常具有与 Unix 符号链接相同的行为。

为了文件你可以执行:

链接 链接名称 目标路径

为了目录你可以执行:

链接/天链接名称 目标路径

硬链接:如何在 NTFS 文件系统上创建它们?

所有版本的 Windows NT 都支持 Unix 风格硬链接在 NTFS 文件系统上。在 Vista 及更高版本上使用 mklink:

链接/H链接名称 目标路径

对于 Windows 2000 和 XP,使用fsutil

fsutil 硬链接创造链接名称 目标路径

它们的工作方式与 Unix 硬链接相同 - 多个文件表条目指向同一个索引节点


目录连接:如何在 NTFS 文件系统上创建它们?

Windows 2000 及更高版本支持目录连接点在 NTFS 文件系统上。它们与符号链接的不同之处在于它们总是绝对和仅有的指向目录,而不是文件。

链接/j链接名称 目标路径

在没有的版本上mklink,从 Sysinternals 下载junction

交界处 链接名称 目标路径

连接点采用重新解析点


如何在 Windows 中使用重新解析点挂载卷?

为了完整起见,Windows 2000 及更高版本,重新解析点也可以指向,从而产生持久的 Unix 风格磁盘挂载

安装卷 挂载点\\?\体积{卷指南}

卷 GUID 由 列出mountvol;它们是静态的,但仅在同一台机器内。


有没有办法在 Windows 资源管理器中执行此操作?

是的,你可以使用 shell 扩展链接外壳扩展这使得建立上述链接变得非常容易。您可以在页面底部

NT4、Windows 2000、Windows XP、Windows XP64 和 Windows7 中实现的 NTFS 文件系统支持一种称为硬链接(以下简称硬链接)。硬链接可以保留文件的单个副本,但使其出现在多个文件夹(目录中)。它们可以使用 POSIX 命令创建包括Windows 资源工具包、文件系统工具Windows XP 中包含的命令实用程序或我的命令行执行程序公用事业。

该扩展允许用户选择一个或多个文件或文件夹,然后使用鼠标完成所需链接的创建 - 硬链接、连接点或符号链接,或者在文件夹的情况下创建由硬链接或符号链接组成的克隆。所有支持 NTFS 版本 5.0 或更高版本的 Windows 版本均支持 LSE,包括 Windows XP64 和 Windows7。FAT 文件系统不支持硬链接、连接点和符号链接,FAT 文件系统也不支持克隆和智能复制过程。

来源可以简单挑选使用右键菜单。

并且取决于你挑选,您右键单击目标文件夹并显示一个带有选项的菜单。

这使得好简单创建链接。有关详细指南,请阅读LSE 文档

下载地址:页面底部

相关 MSDN URL:

答案2

在本回答中,我将尝试概述什么目录管理中的不同类型的链接以及为什么它们非常有用什么时候它们都可以使用。当尝试在文件卷上实现特定的组织时,了解各种不同的类型以及创建它们是很有价值的知识。

有关如何建立特定链接的信息,请参阅重力回答

什么是链接?

链接是两个实体之间的关系;在目录管理的上下文中,链接可以看作是以下两个实体之间的关系:

  1. 目录表

    该表跟踪位于特定文件夹中的文件和文件夹。

    目录表是一种特殊类型的文件,用于表示目录(也称为文件夹)。存储在其中的每个文件或目录都由表中的 32 字节条目表示。每个条目记录名称、扩展名、属性(存档、目录、隐藏、只读、系统和卷)、上次修改的日期和时间、文件/目录数据的第一个簇的地址以及文件/目录的大小。

  2. 数据集群

    更具体地说,文件或目录的第一个群集。

    簇是可分配用于保存文件的最小逻辑磁盘空间量。

这种关系的特别之处在于,它允许一个人只有一个数据集群,但可以有多个链接到该数据集群,这使我们能够显示存在于多个位置的数据。但是,有多种方法可以做到这一点,每种方法都有自己的效果。

要了解其根源,让我们回顾过去……

什么是链接以及为什么不总是足够的?

虽然听起来可能不太熟悉,但我们都知道这个!文件快捷方式无疑是最常用的链接文件的方式。这些方式在 Windows 9x 的一些早期版本中就已经存在,并且已经存在了很长一段时间。

这些允许您快速创建任何文件或文件夹的快捷方式,它们更具体地用于存储额外信息沿着链接,例如工作目录该文件被执行时,参数提供给程序以及是否最大化程序等选项。

这种链接方法的缺点就是,额外的信息要求这种类型的链接本身有一个数据集群来包含该文件。那么问题就不一定是它占用磁盘空间,而是链接间接访问因为在获得实际链接之前必须先请求数据集群。如果实际链接中引用的路径消失,shell 链接仍将存在。

如果要对所引用的文件进行操作,您实际上首先必须弄清楚该文件位于哪个目录中。您不能简单地在编辑器中打开链接,因为这样您编辑的是该文件,.lnk而不是被链接到的文件。这锁定了许多使用 shell 链接的可能情况。

如何连接点链接尝试解决这些问题?

ANTFS 连接点允许创建一个符号链接到目录在本地驱动器上,其行为方式与普通目录一样。因此,您的磁盘上存储了一个文件目录,但可以从多个位置访问它。

删除连接点时,原始目录仍保留。删除原始目录时,连接点仍保留。枚举磁盘以检查必须删除的连接点的成本非常高。这是其实施的一个缺点。

NTFS 连接点的实现方式如下NTFS 重新解析点,它们是 Windows 2000 引入的 NTFS 文件系统对象。

NTFS 重解析点是一种 NTFS 文件系统对象。重解析点提供了一种扩展 NTFS 文件系统的方法,即向目录条目添加额外信息,这样文件系统过滤器就可以解释操作系统如何处理数据。这允许创建连接点、NTFS 符号链接和卷安装点,并且是 Windows 2000 分层存储系统的一项关键功能。

没错,重解析点的发明让我们能够实现更加复杂的链接方式。

NTFS 连接点是软链接,这意味着它只是链接到文件的名称。这意味着无论何时删除链接,原始数据都会保留完好无损的;但是,每当删除原始数据时,原始数据将会消失

我也可以软链接文件吗?有象征性的链接?

是的,当 Windows Vista 出现时,他们决定通过提供以下功能来扩展 NTFS 文件系统对象的功能:NTFS 符号链接,这是一个软链接,其作用与 NTFS 连接点相同。但可以应用于文件和目录。

它们再次共享相同的删除行为,在某些用例中,这可能会给文件带来麻烦,因为您不想让无用的文件副本挂在周围。这也是实施硬链接概念的原因。

什么是难的链接以及它与软链接相比的行为如何?

硬链接不是 NTFS 文件系统对象,而是指向文件的链接(具体来说,它们指的是 MFT 条目,因为它存储了有关实际文件的额外信息)。MFT 条目有一个字段,用于记录文件被硬链接的时间。只要至少有一个指向它的链接仍然存在,数据就仍然可以访问。

因此,数据不再依赖单个 MFT 条目存在。只要存在硬链接,数据就会保留下来。这可以防止在人们不想记住原始文件在哪里的情况下意外删除。

例如,您可以创建一个文件夹,其中包含“我仍要看的电影”、一个文件夹“我度假时看的电影”以及一个文件夹“最喜欢的电影”。不属于上述任何一项的电影将被正确删除,而属于上述任何一项的电影即使您已经看过电影,仍会继续存在。

什么是卷装入点链接为?

一些 IT 或商务人士可能不喜欢记住或输入系统的不同驱动器号。这M:到底是什么意思?是音乐?电影?模型?地图?

微软多年来一直在努力将用户从迁移到work in drive C:work in your user folder我可以毫无疑问地说,存在 UAC 和权限问题的用户就是那些不遵循这些准则的用户,但这难道不会让他们感到疑惑吗:

为什么你每天要查看除了个人文件之外的其他内容?

卷挂载点是专业 IT 的方式,不受驱动器号的限制,并且具有对其有意义的目录结构,但是...

我的文件分布在不同的地方,我可以使用链接将它们放在一起吗?

在 Windows 7 中,图书馆正是出于这个目的而引入的。使用位于此文件夹中的音乐文件完成,然后使用位于该文件夹中的音乐文件完成和该文件夹从较低层次来看,库可以视为多个链接。它们又被实现为可以包含多个引用的文件系统对象。它本质上是一个一对多关系...

我的脑袋爆炸了……你能总结一下何时使用它们吗?

  • 快捷链接:当你需要快速访问可执行文件或网站、你需要的文件时,请使用它们发射非常常见,或者当您需要为应用程序指定参数时,批处理文件就显得有点大材小用了。如果您打算通过其快捷方式操作文件,请不要使用它。

  • 连接点:当您想将目录移到其他地方时,可以使用它们,这样您可以将目录移动到更快或更慢的驱动器,而不会失去访问原始路径的能力。另一种用途是当您想要通过另一条路径访问目录时。这些不能用于链接到共享。

  • 软链接:当快捷方式链接不够用时,请使用它们,通常当您确实想通过其快捷方式操作文件时使用。或者当您希望将文件放在更快或更慢的驱动器上,而不失去访问原始路径的能力时。

  • 硬链接:如果您只想在删除文件的所有硬链接后文件消失,请使用它们。这不能用于文件夹。

  • 卷安装点:当驱动器号用完时,或者当您发现通过路径而不是通过驱动器号访问卷更可行时,请使用它们。

  • 库:当您在多个不同位置拥有相同类型的文件并且需要将它们放在一起时,请使用它们,这支持可移动驱动器,因此当您插入可移动驱动器时,可以方便地让可移动驱动器上的文件夹显示在计算机上的文件夹之间。您可以在树视图中单击库下的文件夹树中的各个文件夹,这有利于在两者之间移动文件。

答案3

如果您使用的是 Windows Vista 或更高版本,并且具有管理员权限,则可以查看该mklink命令(它是一个命令行工具)。我不确定它实际上的符号链接程度如何,因为 Windows 为其提供了放在快捷方式上的小箭头图标,但对文本文件进行的快速 notepad++ 测试表明它可能适合您所寻找的内容。

您可以运行不带参数的 mklink 以获得快速使用指南。

答案4

这篇文章有一些区别

一个重要的区别是,从某种意义上说,win7 之前的连接有点不安全,因为删除它们会删除目标目录。

http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/

在 Win2k、Win2003 和 WinXP 中,切勿使用 Explorer、del 或 del /s 命令或任何递归遍历目录的实用程序来删除连接点,因为这些命令会删除目标目录及其所有子目录。相反,应使用 rmdir 命令、linkd 实用程序或 fsutil(如果使用 WinXP 或更高版本)或第三方工具来删除连接点,而不会影响目标。在 Vista/Win7 中,使用 Explorer 或 rmdir 和 del 命令删除连接点是安全的。

相关内容