我想将目录“foo”及其所有子目录复制到“foo_copy”。
1) 我不希望“foo_copy”拥有某些文件或目录的多个副本,其中每个文件或目录的符号链接都有一个副本。
2)我不希望“foo_copy”的符号链接指向“foo”目录。
我想要一个完全相同的副本:
1)“foo_copy”的文件和目录与“foo”中的文件和目录位于同一位置,但现在位于“foo_copy”中。
2) 'foo_copy' 的符号链接指向它们在 'foo' 中指向的相同文件或目录,除了现在在 'foo_copy' 中。
我不知道我的链接是绝对的还是相对的。我希望有一个无论哪种方式都有效的解决方案。
加分,这是针对 Mac (FreeBSD) 的rsync
版本 2.6.9 协议版本 29。
答案1
标准 POSIX 实用程序的一些替代方案cp
(我假设有人会用 BSD 版本来回答)pax
:
$ cd foo $ 安装-d ../foo_copy $ pax -r -w -pp * ../foo_copy/
苹果同上:
$ 同上 foo foo_copy
您询问的工具有一些微妙的陷阱,但幸运的是,您在这里遇到的唯一一个问题是需要使用尾部斜杠:
$ rsync --archive --hard-links --扩展属性 foo/ foo_copy/
当然还有复制Finder 中的功能 ( ⌘ Super+ )。D