打包了一个mac的app程序, 59M
➜ 202202241410 git:(feature/migrate) ✗ du -sh rtc_test_mac.app
59M rtc_test_mac.app
使用 zip 命令压缩
➜ 202202241410 git:(feature/migrate) ✗ zip -r app.zip rtc_test_mac.app
压缩后
➜ 202202241410 git:(feature/migrate) ✗ du -sh app.zip
59M app.zip
🙈🙈压缩没起作用???
解压:
➜ 202202241410 git:(feature/migrate) ✗ ls
app.zip rtc_test_mac 2.app rtc_test_mac.app
➜ 202202241410 git:(feature/migrate) ✗ du -sh rtc_test_mac\ 2.app
118M rtc_test_mac 2.app
🙈🙈解压,文件大小翻倍了??
好试试系统的压缩,右键,压缩文件
➜ 202202241410 git:(feature/migrate) ✗ ls -lh *.zip
-rw-r--r--@ 1 yxb staff 58M Feb 24 16:44 app.zip
-rw-r--r-- 1 yxb staff 33M Feb 24 16:59 rtc_test_mac.zip
系统的是好的, 哪里出错了?
原因分析
是压缩率参数配置不正确造成的?把压缩率开到最大
➜ 202202241410 git:(feature/migrate) ✗ zip -r -9 app1.zip rtc_test_mac.app
➜ 202202241410 git:(feature/migrate) ✗ ls -lh app1.zip
-rw-r--r-- 1 yxb staff 58M Feb 24 17:05 app1.zip
🙈🙈不行, 不是压缩率的原因?到底哪里的问题?
看看别人是咋写的
➜ 202202241410 git:(feature/migrate) ✗ zip -r -y app2.zip rtc_test_mac.app
多了个-y
那咱们看看-y
是干什么的
分析: 不加-y
, 压缩的时候会将软链接替换成真实的文件,加-y
会保持软连接的形式。怪不得,压缩不起作用,原来压缩前文件大小就翻倍了。
验证
原来文件中的软连接
看看解压后的文件
查找软连接,看到输出为空,都被真实的文件替换了。
好吧,原因找到了。
总结:
zip 压缩文件的时候, 如果存在软连接,需要添加-y
参数,否则你会发现你的压缩没起作用,解压后,文件还变大了。
参考:
mac 下如何查看一个文件夹下面的软链接?
How to list all symbolic links in a directory
find . -type l -ls