Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows fsutil hardlink不';不行?_Windows_Symlink_Hardlink_Fsutil - Fatal编程技术网

Windows fsutil hardlink不';不行?

Windows fsutil hardlink不';不行?,windows,symlink,hardlink,fsutil,Windows,Symlink,Hardlink,Fsutil,我正在寻找在Windows下创建硬链接的方法,我发现了以下页面: 为了试用,我在C:驱动器的根目录下创建了一个文件(1.txt),其中包含100行以下内容: C:\1.txt(2.598字节): 然后打开命令提示符并键入: fsutil hardlink create C:\2.txt C:\1.txt 成功,创建了2.txt,但当我查看它的大小时,它正好有2.598字节,并且还注意到一些奇怪的行为(就我对硬链接的理解而言): 如果我删除2.txt(硬链接文件),则不会删除1.txt,反之亦然

我正在寻找在Windows下创建硬链接的方法,我发现了以下页面:

为了试用,我在C:驱动器的根目录下创建了一个文件(1.txt),其中包含100行以下内容:

C:\1.txt(2.598字节):

然后打开命令提示符并键入:

fsutil hardlink create C:\2.txt C:\1.txt
成功,创建了2.txt,但当我查看它的大小时,它正好有2.598字节,并且还注意到一些奇怪的行为(就我对硬链接的理解而言):

  • 如果我删除2.txt(硬链接文件),则不会删除1.txt,反之亦然
  • 如果在删除1.txt(原始文件)后打开2.txt,内容仍然相同
  • fsutil hardlink create命令与copy命令有何不同?如何在Windows下创建真正的硬链接


    我使用的是Windows XP SP 3,我的文件系统是NTFS。

    这正是应该发生的行为。你确定你了解硬链接的工作原理吗?硬链接实际上只是文件系统中引用完全相同文件的多个条目。如果创建指向某个文件的硬链接并修改该文件的一个实例,则另一个文件将显示您所做的更改,因为它们都引用磁盘上相同的数据块


    当您删除其中一个硬链接时,实际上只是删除了引用该文件的一个文件系统条目。只有删除文件的所有硬链接(包括原始链接),文件才会被删除。删除1.txt后,2.txt仍然存在,并且引用的文件与原来的文件相同,只是现在只有一个文件系统条目引用该文件(即2.txt)。2.txt就是那个文件。

    这正是应该发生的行为。你确定你了解硬链接的工作原理吗?硬链接实际上只是文件系统中引用完全相同文件的多个条目。如果创建指向某个文件的硬链接并修改该文件的一个实例,则另一个文件将显示您所做的更改,因为它们都引用磁盘上相同的数据块


    当您删除其中一个硬链接时,实际上只是删除了引用该文件的一个文件系统条目。只有删除文件的所有硬链接(包括原始链接),文件才会被删除。删除1.txt后,2.txt仍然存在,并且引用的文件与原来的文件相同,只是现在只有一个文件系统条目引用该文件(即2.txt)。2.txt就是那个文件。

    这是一个真正的硬链接。在UNIX中(我不熟悉Windows变体),文件只是磁盘上的一组数据(简单地说)。是目录条目本身为该文件命名


    当您有两个目录项指向同一个基础文件时,删除其中一个目录项不会删除该文件,除非它是附加到该文件的最后一个目录项(并且该文件尚未被进程打开,但这是另一回事)。

    这是一个真正的硬链接。在UNIX中(我不熟悉Windows变体),文件只是磁盘上的一组数据(简单地说)。是目录条目本身为该文件命名

    当有两个目录项指向同一个基础文件时,删除其中一个目录项不会删除该文件,除非它是附加到该文件的最后一个目录项(并且该文件尚未由进程打开,但这是另一回事)

    fsutil硬链接是如何创建的 命令与复制命令不同? 我如何才能创建真正的硬链接 在窗户下

    创建硬链接文件后,请尝试编辑。您将发现更改反映在两个文件中

    尝试创建一个非常大的文件(例如视频或磁盘图像)的硬链接。请注意,磁盘上的可用空间没有改变(或者,如果必须将额外的元数据写入磁盘以反映新的dir条目,则改变的字节数不会超过几个)

    fsutil硬链接是如何创建的 命令与复制命令不同? 我如何才能创建真正的硬链接 在窗户下

    创建硬链接文件后,请尝试编辑。您将发现更改反映在两个文件中


    尝试创建一个非常大的文件(例如视频或磁盘图像)的硬链接。请注意,磁盘上的可用空间没有改变(如果必须向磁盘写入额外的元数据以反映新的目录条目,则更改的字节数不会超过几个)。

    谢谢,我的想法不同。谢谢,我的想法不同。我想这取决于编辑器。有些人重命名旧文件,并使用原始名称创建新文件,从而断开链接。除非Windows硬链接与UNIX硬链接不同,这是完全可能的:-)事实上,我不知道ntfs有硬链接(我仍然不确定),ntfs从NT5开始就支持硬链接和称为连接的目录“符号链接”,从NT6开始支持实符号链接。真的。:)我认为,这取决于编辑器。有些人重命名旧文件,并使用原始名称创建新文件,从而断开链接。除非Windows硬链接与UNIX硬链接不同,这是完全可能的:-)事实上,我不知道ntfs有硬链接(我仍然不确定),ntfs从NT5开始就支持硬链接和称为连接的目录“符号链接”,从NT6开始支持实符号链接。真的。:)(其中,NT5更被称为Windows 2000,NT6更被称为Vista或Server 2008)值得一提的是,用于删除文件项的POSIX函数名为
    unlink
    。值得一提的是,用于删除文件项的POSIX函数名为
    unlink
    fsutil hardlink create C:\2.txt C:\1.txt