可能重复:
如何在 Linux 中使用软链接打包目录层次结构
我正在使用 tar 将文件和目录从 Solaris 机器复制到 Linux 机器。
- Tar 是否保留符号链接、硬链接和使用绝对路径的链接?
我正在从根目录逐个复制目录,我没有将整个目录复制/
到新服务器,因为我已经设置了几个目录。
答案1
看看手册页,至少对于 gnu tar 来说:
-h, --dereference
follow symlinks; archive and dump the files
they point to
--hard-dereference
follow hard links; archive and dump the files
they refer to
答案2
一般来说,它取决于 tar 实现和命令行选项。
GNU tar 有这样的选项http://www.gnu.org/software/tar/manual/html_node/hard-links.html
我建议您使用 cpio 而不是 tar。cpio 格式在 UNIX 上更易于移植,并且 cpio 保留了硬链接
答案3
可以,具体取决于您给出/不给出的选项。此外,对于硬链接,它只会保留您当前正在处理的数据集内的硬链接 - 例如,如果您在目录中的文件链接到中的文件之间有硬链接a/
,b/
但您只归档/解压a/
,则它不会保留该链接。
答案4
在这种情况下您应该尝试 Rsync。