代码改变世界

MacOS上传文件到windows ftp时软链接文件不见了

2019-12-21 17:08  加个小鸡腿  阅读(972)  评论(0编辑  收藏  举报

最近打包遇到了一个问题,打包完MAC的sdk包后,得到的是一个framework的文件夹,我们需要将这个framework源码Demo里的文件再将demo和framework压缩传到ftp,framework我们简单点叫fwtest,软链接文件正常情况是如下的(带这种小箭头的):

                                                  

 

因为我是从mac机器上传包到windows的ftp机器上,所以我先压缩文件,然后再传。

 我的步骤是:

(1)将fwtest/release下复制到Demo文件对应目录下

命令是: cp  -rn fwtest/Release/* Demo/

(2)将Demo和fwtest分别压缩成zip文件

命令:zip -r -q Demo.zip  Demo

           zip -r -q fwtest.zip   fwtest

(3)用curl命令上传到ftp上

但是,当我从ftp上下载刚才传上来的Demo.zip 和fwtest.zip,解压后,软链接没有了!!! 

调试(一定要在mac上调试,windows看不出软链接文件):

    直接在mac压缩成zip,再解压是没问题的,但是执行zip  -r 压缩,然后再用unzip 解压就出问题了,软连接不见了

    想着压缩除了zip还有tar,我用tar试试,tar -cvf fwtest.tar fwtest  再解压,尽然没问题!!!

   好了,都改成tar吧,我还是把Release下的文件复制到Demo里,然后将Demo也压缩成tar包,再传到ftp。

  再下载试试,fwtest.tar解压了,软链接还在!!

  再试试Demo.tar ,解压了,软链接没有了,是不是复制有问题啊,原文件没毛病的!

 好吧,man cp 看看, -R 好像可以,有软链接的描述,改成cp  -R fwtest/Release/* Demo/,mac上看了下,软链接可以了,再压缩成tar包,传到ftp上,下载Demo.tar 解压看看,软链接还在!!! 

但是 why ??? 如果你知道,麻烦在评论里分享下~~

 

修改后的命令如下:

(1)(1)将fwtest/release下复制到Demo文件对应目录下

命令是: cp  -R fwtest/Release/* Demo/

(2)将Demo和fwtest 分别压缩成zip文件

命令:tar -cvf Demo.tar  Demo

          tar -cfv fwtest.tar  fwtest

(3)用curl命令上传到ftp上