首先,我习惯zip
在 Ubuntu 中存档文件夹。然后,我习惯7zip
在 Windows 上提取这些文件夹。文件夹中有符号链接。我确信文件夹中任何符号链接指向的所有内容也都在文件夹中。
如何设置 zip 标志,以便在 Windows 下提取文件夹后,符号链接可以像以前一样工作?这意味着不应遵循符号链接,而是将其存档为符号链接信息,我不确定 zip 格式是否支持这一点。
答案1
我可以确定文件夹中任何符号链接指向的所有内容也都在文件夹中吗?
简短回答:是的,如果您没有指定该--symlinks
选项。
默认情况下,该zip
命令将取消引用符号链接。这意味着符号链接将被它们链接到的实际文件或文件夹替换。因此,您可以确保 Linux 系统上符号链接引用的所有文件和文件夹实际上都将作为“真实”文件和文件夹包含在 zip 文件中。当您在 Windows 上提取 zip 文件时,这些文件和文件夹中的任何文件和文件夹都将显示为“真实”文件和文件夹。
如何设置 zip 标志,以便在 Windows 下提取文件夹后,符号链接像以前一样工作?
简短回答:你不能,除非 1)接收文件系统支持 Linux 符号链接,并且 2)链接的目标文件/文件夹存在
ZIP 格式支持存储符号链接。要存储符号链接,可以使用选项--symlinks
。但是,Linux 下的符号链接仅在支持这些符号链接的文件系统上有效。因此,需要在合适的文件系统上提取此类存档,才能使这些链接再次起作用(当然,前提是提取 zip 文件的系统上有相应的目标文件)。