壓縮打包介紹,gzip壓縮工具,bzip2壓縮工具,xz壓縮工具,zip壓縮工具,tar打包,打包並壓縮
阿新 • • 發佈:2019-09-12
壓縮打包介紹
- 由於網路資源是有限的,機房伺服器頻寬非常昂貴
- 怎樣用合理的使用頻寬是很重要的
- 將檔案壓縮後,無論是儲存還是傳輸,既節省伺服器空間,又節省頻寬
- 上圖是目前主要的壓縮格式
- 在linux裡面,雖然不像windows一樣,檔案字尾名有嚴格限制
- 不管什麼格式的檔案,都可以自定義檔案字尾
- 但是這樣不利於管理,也不方便與他人溝通交流使用
- 所以還是應該按照檔案內容正確的格式來命名檔案字尾
gzip 壓縮工具
- gzip是linux的一種壓縮工具
- 從上圖可以看到,有一個叫做 1.txt 的檔案,檔案大小是3.1MB,有37860行
- 現在使用 gzip 對1.txt進行壓縮
- 壓縮命令就是 gzip 1.txt 回車就完成了
- 然後使用 ls 檢視當前目錄
- 1.txt檔案消失了,出現了一個新的檔案,叫做 1.txt.gz
- 原始檔被壓縮後並重命名為了 1.txt.gz
- 如上圖,使用 gzip -d 1.txt.gz 命令把 1.txt.gz 檔案進行了解壓縮
- 加上 -d 引數就可以對檔案進行解壓縮
- 下面使用 ls 檢視目錄,發現 1.txt.gz 不見了,1.txt 又出現了
- 1.txt.gz 被解壓縮並重命名為了 1.txt
- 解壓縮後檢視檔案大小,發現只有 1.4MB ,壓縮前有 3MB 左右
- 因為原來的檔案佔用了很多虛的空間,壓縮之後就把這些虛的空間消除掉了
- 重新解壓縮後消除掉的虛的空間並不會還原,所以檔案大小還是變小了
- 檢視檔案行數,跟原來一樣,還是37860行,並沒有因為檔案變小而減少行數
- 使用 gzip -1 1.txt 重新壓縮 1.txt 檔案,其中 -1 代表壓縮級別
- gzip 的壓縮級別是從 1 到 9 的,壓縮級別越高,壓縮的越小,但是需要使用的cpu資源越多
- 如果不指定壓縮級別,預設壓縮級別是 6
- 現在指定壓縮級別為 1 ,可以看到,du檢視檔案大小,1.txt.gz 為396kb
- 前面使用預設壓縮級別 6 壓縮之後檔案大小是 344kb
- 降低壓縮級別後,壓縮的檔案就沒有那麼小了
- 一般都是使用預設的級別,不需要調整大小
- 除了 -d 引數可以解壓縮外,也可以使用 gunzip 來解壓縮
- 如上圖,命令 gunzip 1.txt.gz 就可以解壓縮 1.txt.gz
- 可以使用 file 1.txt.gz 檢視檔案資訊
- 可以看到,檔案壓縮方式是 gzip,壓縮前的名字是1.txt,最後一次修改的時間,壓縮級別是最大級別,這次用的是9級別壓縮
- 想檢視壓縮檔案的內容,可以使用 zcat 1.txt.gz 來檢視1.txt.gz的內容
- zcat 的工作原理就是先解壓縮,然後再檢視
- 現在使用 -d 引數重新解壓縮 1.txt.gz
- 然後使用 -c 引數重新壓縮 1.txt
- gzip -c 1.txt > /tmp/1.txt.gz
- 這個命令是把 1.txt 壓縮到 /tmp 目錄下面,並命名為 1.txt.gz
- 但是原始檔並不消失,可以看到,1.txt仍然存在,tmp目錄下面多了一個1.txt.gz檔案
- 使用 -c 引數就可以製作原始檔的壓縮檔案並存放在指定的位置
- 這裡就製作了一個原始檔1.txt的壓縮檔案1.txt.gz並存放在/tmp目錄下面
- 如上圖,gzip -d -c /tmp/1.txt.gz > /root/tmp/d6z/2.txt
- 這個命令可以製作 /tmp/1.txt.gz 這個壓縮檔案的解壓縮檔案2.txt,並存放到/root/tmp/d6z目錄
- 其中 -d 代表解壓縮功能,-c 可以不刪除原始檔,將製作好的檔案放到指定位置
- gzip 是不能壓縮目錄的,只能壓縮檔案
bzip2壓縮工具
- bzip2 可以比 gzip 壓縮的更小一些,但是會耗費更多的cpu資源
- 看上圖,1.txt 大小是 1.4MB
- 使用 bzip2 1.txt 壓縮之後,用du檢視,大小變成了 88kb
- 之前使用gzip壓縮後大小變成了300多kb
- 所以bzip2可以將檔案壓縮得比gzip小很多
- 可以使用 bzip2 -d 1.txt.bz2 解壓縮,跟gzip一樣,使用-d引數解壓縮
- 然後重新壓縮一次
- 還可以使用 bunzip2 1.txt.bz2 解壓縮,跟gunzip差不多
- bunzip2同樣不能壓縮目錄
- bzip2 同樣可以使用 -c 引數製作原始檔的壓縮檔案重新命名並存放在指定位置
- bzip2 -c 1.txt > 1.txt.bz2 就製作了1.txt的壓縮檔案1.txt.bz2並存放在當前目錄下
- 如圖,bzip2 同樣可以使用 -d -c 引數製作原始檔的解壓縮檔案重新命名並存放在指定位置
- 這裡就將 1.txt.bz2 的解壓縮檔案 3.txt 存放在當前目錄下
- bzip2 -9 1.txt 就可以指定壓縮級別來壓縮 1.txt
- bzip2 的壓縮級別也有9級,不過預設壓縮級別就是9
- 所以一般不需要指定壓縮級別
- 可以使用 file 1.txt.bz2 來檢視壓縮檔案資訊
- file命令可以用在不知道檔案格式的時候,可以用file檢視到格式資訊
- bzcat 可以檢視用bzip2壓縮的檔案內容
xz壓縮工具
- 不是非常常用的壓縮工具,用法與gzip和bzip2大體一致
- xz 的壓縮率比 gzip 和 bzip2 都高
- 可以看到,xz壓縮之後的檔案大小,比gzip和bzip2壓縮後的都