Est*_*ask 11 ntfs symbolic-link hardlink
我必须将目录结构从一个本地 NTFS 磁盘复制到另一个(Windows 7+)并保留此目录结构中存在的硬链接。
一个可接受的解决方案是在复制之前用(相对)符号链接替换硬链接,但我不确定这是否可行。
请注意,这些是硬链接,复制连接点和符号链接没有问题,后者可以稍后复制和修复。我不打算克隆它,只是将目录结构(它是整个磁盘的一部分)复制到另一个非空磁盘。
这里有哪些选择?
Vom*_*yle 10
示例命令:
ln --copy x:\dir\dir2 y:\dir\newdir
在上面的例子中,x:\dir\dir2 下的目录和文件被复制到 y:\dir\newdir,x:\dir\dir2 内的所有硬链接/连接/符号链接都被复制/绑定到它们在 y 下的新位置:\目录\新目录。
基本说明
vcredist
(Visual C++ Redistributable)下载适用于您的 CPU 架构的软件并安装它。C:\Temp
)。cd /d C:\Temp
),然后为您的驱动器位置运行所需的命令,如上述示例命令所示。注意:运行ln --help
显示帮助详细信息,但上面的命令示例应该复制hard links
每个文档。
潜在相关功能
其他注意事项
它hard links
的文件指针似乎被锁定到同一个磁盘分区,并且不能跨多个分区使用。此外,hard links
在 NTFS 分区上是Master File Table
记录的一部分- 或至少是计数的属性 - 因此,MFT
如果您不在分区级别逐字节克隆,将它们复制到拥有它自己的现有磁盘可能是一个问题至少。
命令行实用程序rsync
会按照您的要求执行操作。
假设您的旧数据位于位置 A,新数据位于位置 B,请执行以下操作:
rsync -ahPruvz --hard-links A B
Run Code Online (Sandbox Code Playgroud)
引用rsync手册:
这告诉 rsync 在源中查找硬链接文件并将目标上的相应文件链接在一起。
如何获取rsync
和使用?Windows 有 2 个简单的替代方案:
第一种选择:使用cygwin
. 这是一个windows软件。安装它,rsync
在选择包的步骤添加。将其他所有内容保留为默认值。安装后,使用其 shell 输入命令。如果需要,您可以使用完整路径,/usr/bin/rsync
而不仅仅是rsync
. 如果您想访问 Windows 驱动器,请使用“/cygwin/drives”等路径,并始终尝试使用 TAB 自动完成。
第二种选择:如果是台式计算机,请使用实时 GNU/Linux 发行版。准备一个实时 USB 映像,从它启动,安装所需的磁盘并调用 rsync。如果实时镜像没有rsync
,请安装它。(apt-get install rsync
在 Debian 及其衍生版本中。)如果您还没有 Linux 生态系统的经验,那么 cygwin 可能会更容易。
归档时间: |
|
查看次数: |
7400 次 |
最近记录: |