如何将符号链接文件从Linux复制到Windows,然后再复制到Linux,但
我的
Linux机器上有一个符号链接.
我想只将符号链接(不是目标)复制到Windows机器,然后将此符号链接从Windows机器复制回其他Linux机器,符号链接应继续工作. 我尝试了什么: >我gziped符号链接 现在这个文件不再是符号链接了. 有人知道这样做的诀窍吗? 解决方法
在* nix中,符号链接通常只是具有“symlink”属性的纯文本文件.该文件包含链接目标的路径. Windows上不存在“symlink”属性.因此,当您在Windows上提取符号链接时,它将成为常规文本文件[虽然它也可能出错,但它可能取决于您用来提取存档的工具].复制回* nix时,它将保留常规文本文件.
唯一的解决方案是在某些外部元数据存储中保留“symlink”属性,并在上载文件或创建存档时恢复该属性. 虽然我不知道任何支持这个的工具. 你绝对可以编码. >使用WinSCP:您生成一个生成WinSCP script的代码.代码将递归迭代本地目录结构.对于文件,它将生成 示例代码: $symlink = true; // is symlink? $dir = false; // is folder? $mode = "755"; // permissions $local_path = "C:zipfoldermylink"; $zip_path = "folder/mylink"; $attr = (1 << 14) | // this bit seems to be always set (1 << ($dir ? 30 : 31)) | ($symlink ? (1 << 29) : 0) | octdec($mode) << 16; $zip->addFile($local_path,$zip_path); $zip->setExternalAttributesName($zip_path,ZipArchive::OPSYS_UNIX,$attr); 如果您对Python更熟悉,请参阅How do I set permissions (attributes) on a file in a ZIP file using Python’s zipfile module?它仅处理权限,但您可以使用符号链接位轻松扩展它,根据我的PHP示例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |