如何将Linux构建机上的可执行文件传输至Mac编辑机以进行图形环境测试?
我太懂你这种来回折腾的麻烦了!其实完全不用搞复杂,利用你已经在用来连Linux服务器的SSH工具,就能轻松把构建产物传到Mac上,给你分享几个实用的方法:
直接用scp命令(最常用最快捷)
既然你已经能通过SSH登录Linux服务器,那scp就是现成的文件传输工具。在Mac的终端里直接执行命令,把Linux上的文件拉到本地:scp your-linux-username@linux-server-ip:/absolute/path/to/your/build/exe /Users/your-mac-username/Desktop/解释下参数:把
your-linux-username换成你Linux服务器的用户名,linux-server-ip是服务器的IP地址或者域名,前面的路径是你构建产物在Linux上的绝对路径,最后是Mac上你想存放文件的本地路径(比如桌面就很方便测试)。如果要传整个构建目录,记得加-r参数(递归传输):scp -r your-linux-username@linux-server-ip:/path/to/build/folder /local/mac/folder/用rsync做高效增量传输
如果你频繁修改代码、反复构建,每次都传整个文件有点浪费带宽,rsync就适合这种场景——它只会传输文件变化的部分。Mac和Linux默认都带这个工具,命令格式类似scp:rsync -avz your-linux-username@linux-server-ip:/path/to/build/directory/ /Users/your-mac-username/TestFolder/参数说明:
-a是归档模式,会保留文件的权限、时间戳等元信息;-v显示传输进度和细节;-z传输时压缩文件,省流量还更快。图形化拖放(不用敲命令的懒人选项)
要是你不想记命令,Mac自带的Finder就支持SFTP连接。打开Finder后按Cmd + K,输入sftp://your-linux-username@linux-server-ip,回车后输入密码就能看到Linux服务器上的文件了,直接把构建产物拖到Mac本地文件夹就行。也可以用FileZilla这类第三方SFTP工具,操作更直观。进阶:让构建完成后自动传输
如果你想彻底解放双手,可以在Linux的构建脚本末尾加一行自动传输的命令。前提是你先把Mac的SSH公钥加到Linux服务器的~/.ssh/authorized_keys里,这样传输时不用输密码。比如在构建脚本最后加:# 先把构建产物打包(可选,传压缩包更快) tar -czf build-output.tar.gz /path/to/build/files # 传到Mac的指定路径 scp build-output.tar.gz your-mac-username@mac-ip:/Users/your-mac-username/TestBuilds/注意:这里需要你的Mac能被Linux服务器访问到(比如在同一个局域网,或者你给Mac开了端口转发)。
小提示:如果构建产物是多个文件或者大文件,先在Linux上打包成tar.gz或者zip再传输,能节省不少时间哦!
备注:内容来源于stack exchange,提问作者Bunabyte

