Linux, bash, 壓縮, tar, bz2, xz, 7z, 壓縮率 如果只是想查各種副檔名的解壓縮指令,只要Google副檔名就可以找到(例如: tar.bz2 ) 這邊主要是在對資料夾壓縮時,為了自訂壓縮率而深入研究壓縮指令而產生。 tar 可以對檔案或資料夾進行單存的打包(或解開打包),後面接c代表打包,x代表解開打包。這邊在Bash底下產生一個簡單的文字檔來練習: echo "Hello World" > text tar c text # 輸出 text000644 000765 000000 00000000014 12437746653 012241 0ustar00wemeewheel000000 000000 Hello World # 如果要儲存,加上參數f,並指定存檔名稱 tar cf text1.tar text # 或者使用串流來寫入檔案也可以(實際應用不建議) tar c text > text2.tar 原始檔案12B, 打包後2K, 使用串流寫入的10K, 可以確定打包完全不會有壓縮的效果 12B 12 4 10:57 text 2.0K 12 4 11:01 text1.tar 10K 12 4 11:01 text2.tar 其實打包主要目的在於,我常用的bz2壓縮,只能對檔案壓縮,不能對目錄壓縮,所以才需要先把目錄打包成一個檔案,再用bz2去壓縮它 接下來,弄個目錄跟文字檔來測試 mkdir dir echo "Hello World" > dir/text tar cf dir1.tar dir tar c dir > dir2.tar 結果一樣,使用串流寫入的,佔的容量比較大 102B 12 4 11:28 dir 2.5K 12 4 11:44 dir1.tar 10K 12 4 11:44 dir2.tar 接下來,使用bz2壓縮看看 bzip2 -z dir1.tar bzip2 -z dir2.tar 來看看所佔用的容量 102B 12 4 11:28 dir 167B 12 4 11:44 dir1.tar.bz2 169B 12 4 11:44 dir2...