最近打包遇到了一个问题,打包完MAC的sdk包后,得到的是一个framework的文件夹,我们需要将这个framework传到ftp服务器上,另外,还要把这个文件夹下的Release文件夹里的文件替换掉源码Demo里的文件,也就是是ftp上要有framework文件夹和demo文件夹。这个framework文件夹,我们叫他LBCast_FrameWork,目录结构如下:

替换到Demo文件中的上面图片的“1” “2” 这两个文件夹,软链接文件正常情况是如下的(带这种小箭头的):

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

我的步骤是:

(1)将文件夹HPCastResources.bundle 和 HPCastWork.framework 复制到Demo文件对应目录下

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

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

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

zip -r -q LBCast_FrameWork.zip   LBCast_FrameWork

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

curl -u ftp用户名:ftp密码 -T "Demo.zip"  ftp://ftp的ip/output/

curl -u ftp用户名:ftp密码 -T "LBCast_FrameWork.zip"  ftp://ftp的ip/output/

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

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

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

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

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

  再下载试试,LBCast_FrameWork.tar解压了,软链接还在,嘻嘻,为自己的机智点个赞!!

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

 好吧,man cp 看看, -R 好像可以,有软链接的描述,改成cp  -R LBCast_FrameWork/Release/* Demo/,mac上看了下,软链接可以了,嘻嘻,不能高兴太早了,再压缩成tar包,传到ftp上,下载Demo.tar 解压看看,软链接还在!!! 我真是棒棒哒!!!!

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

修改后的命令如下:

(1)将文件夹HPCastResources.bundle 和 HPCastWork.framework 复制到Demo文件对应目录下

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

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

命令:tar -cvf Demo.tar  Demo

tar -cfv LBCast_FrameWork.tar   LBCast_FrameWork

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

curl -u ftp用户名:ftp密码 -T "Demo.tar"  ftp://ftp的ip/output/

curl -u ftp用户名:ftp密码 -T "LBCast_FrameWork.tar"  ftp://ftp的ip/output/

MacOS上传文件到windows ftp时链接文件不见了的更多相关文章

  1. 从0在windows上一次性上传本地整个项目(包含所有文件/文件夹)到 Github

    1.注册并登陆Github. 2.登陆进去之后的页面,点击这个“库”,这表示你在Github上上的代码仓库,我这里已经创建过一个了,所以数量是1 3.在仓库选项卡中,点击“新建”按钮添加一个项目. 4 ...

  2. Java实现文件上传到服务器(FTP方式)

    Java实现文件上传到服务器(FTP方式) 1,jar包:commons-net-3.3.jar 2,实现代码: //FTP传输到数据库服务器 private boolean uploadServer ...

  3. 通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等

    记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...

  4. JAVA 实现FTP上传下载(sun.net.ftp.FtpClient)

    package com.why.ftp; import java.io.DataInputStream; import java.io.File; import java.io.FileInputSt ...

  5. (配置)CKEditor+CKFinder+php上传配置,根据年月命名创建文件夹来存放

    CKEditor+CKFinder+php上传配置 新版本的CKEditor只提供了基本的文本编辑功能,上传模块由另一个组件CKFinder.这里主要记录CKFinder上传的一些参数配置,能够成功上 ...

  6. Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题

    一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...

  7. thinkphp项目上传到github,为什么缺少很多文件

    thinkphp项目上传到github,为什么缺少很多文件 问题: 把tp5项目push到码云(类似github)上,为什么没有thinkphp这个核心库? 然后我看了下码云和github上,官方的t ...

  8. PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件

    PHP  多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/gett ...

  9. [转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的asp.net示例

    原文地址:http://www.stepday.com/topic/?459 作文一个ExtJs的入门汉子,学习起来的确是比较费劲的事情,不过如今在这样一个网络资源如此丰富的时代,依然不是那么难了的. ...

随机推荐

  1. 判断101-200之间有多少个素数,并输出所有素数,方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

    <?php$sum=0;for($i=101;$i<=200;$i++){    for($j=2;$j<=sqrt($i);$j++)    {       if($i%$j==0 ...

  2. git报错_you are not allowed to push code to protected branches on this project

    问题描述 今天在提交代码的时候,由于使用的是新库,写完代码后,进行push,发现报错 you are not allowed to push code to protected branches on ...

  3. 鲜贝7.3--postman安装

    Postman电脑客户端安装: Postman的安装非常简单,在windows系统只需要双击安装包,然后什么都不需要操作,它直接就自己完成了,如下图.如果是mac 也是跟普通软件的安装方法相同.在初次 ...

  4. 工具资源系列之给 windows 虚拟机装个 windows

    前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 Windows 系统. 前情回顾 虚拟机是相对于真实的物理机而言的概念,是在 ...

  5. Python进阶-XVV hashlib模块、configparse模块、logging模块

    1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...

  6. P2186 小Z的函数栈

    有点恶心的模拟(代码写整齐一点不就好了) 以下情况算错: 1.运行中有数的绝对值大于1000000000 2.除以和取模的时候第一个数为0 3.取栈顶元素时栈内元素不够 上代码 #include< ...

  7. vue_day05

    目录 vue前后端交互: vue 分离前后端交互: vue前端发送请求: vue请求插件--axios: main.js配置: 前端朝后端请求传参方式: django后端返回数据样式: vue配置El ...

  8. hw笔试题-01

    #include <stdlib.h> #include <stdio.h> #include <string.h> int str_split(char *inp ...

  9. 错误解决:android.view.InflateException: Binary XML file line #11: Error inflating class com.tony.timepicker.TimePicker

    今天在做项目开发时遇到这么一个错误,完整的错误提示信息如下: java.lang.RuntimeException: Unable to start activity ComponentInfo{co ...

  10. 物联网架构成长之路(36)-Vue前端入门

    1. 前言 物联网平台,需要有一个类似大屏看板的功能. 找了一圈,发现阿里已经有对应的DataV产品,但是那个价格有点贵啊.所以找了这个[http://datav.jiaminghi.com/demo ...