打包了一個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
????解壓挎挖,文件大小翻倍了这敬??
好試試系統(tǒng)的壓縮蕉朵,右鍵崔涂,壓縮文件
? 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
系統(tǒng)的是好的, 哪里出錯了始衅?
原因分析
是壓縮率參數(shù)配置不正確造成的冷蚂?把壓縮率開到最大
? 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
會保持軟連接的形式诸老。怪不得隆夯,壓縮不起作用,原來壓縮前文件大小就翻倍了别伏。
驗證
原來文件中的軟連接
看看解壓后的文件
查找軟連接吮廉,看到輸出為空,都被真實的文件替換了畸肆。
好吧宦芦,原因找到了。
總結(jié):
zip 壓縮文件的時候轴脐, 如果存在軟連接调卑,需要添加-y
參數(shù),否則你會發(fā)現(xiàn)你的壓縮沒起作用大咱,解壓后恬涧,文件還變大了。
參考:
mac 下如何查看一個文件夾下面的軟鏈接碴巾?
How to list all symbolic links in a directory
find . -type l -ls