第5周第1次課(4月16日)
課程內容:
6.1 壓縮打包介紹
6.2 gzip壓縮工具
6.3 bzip2壓縮工具
6.4 xz壓縮工具
6.1 壓縮打包介紹
為什么要給文件進行壓縮呢?首先壓縮和不壓縮空間大小會有差距,對磁盤來講可以節省空間,對網絡傳輸可以節省時間,帶寬資源耗費減小了,服務器上的文件經常被下載,那壓縮后使用的資源帶寬也減少了很多,對公司來說也節省了很大的成本,所以對文件進行壓縮就是一個非常有效的方法。
在Windows中常見的壓縮文件有:.rar,.zip,.7z
在Linux中常見的壓縮文件有:.zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz
在Windows下后綴名必須要對應的軟件才可以打開,而在Linux中后綴名不是太重要了,無論是.txt或者.exe都可以使用cat 或 vi 命令打開它。那么為了方便區分文件的格式,所以后綴名就寫成壓縮文件這樣的格式了,其實使用壓縮工具對文件進行壓縮時候,也會自動生成Linux中的壓縮文件對應的后綴名格式。
6.2 gzip壓縮工具
gzip壓縮一個文件很簡單,直接命令+文件名就可以了。
舉例操作:
find一個文件並追加到1.txt里面,多追加幾次。
[root@jimmylinux-002 ~]# find /etc/ -type f -name "*conf" -exec cat {} >> 1.txt \;
使用du -sh 1.txt查看文件大小,wc -l 1.txt查看文件總行數。
gzip 1.txt 壓縮這個文件
[root@jimmylinux-002 d6z]# gzip 1.txt
ls查看已經沒有1.txt文件,而是變成了1.txt.gz格式的壓縮文件
使用du -sh 1.txt.gz查看文件大小
gzip -d 1.txt.gz -d表示解壓文件,ls查看變回原來的1.txt文件,du -sh 1.txt查看文件大小,wc -l 1.txt 查看的總行數和之前的一樣,並不會因為壓縮文件后再去解壓文件丟失數據。
gzip -1 后面跟數字可以指定一個級別,范圍是1至9,默認是6級別,1級別是壓縮的最不嚴謹,9級別是最嚴謹的,當然級別越高耗費CPU資源越大,反之1級別耗費CPU資源越少。
gunzip 1.txt.gz 同樣也可以解壓縮
壓縮完的文件一般都是2進制的文件,如何查看呢?可以使用如下命令查看
還可以使用zcat命令查看文件的內容,實際上是先解壓后再cat。
[root@jimmylinux-002 d6z]# zcat 1.txt.gz 因為查看文件內容太多(此處忽略不截圖)
每次對文件壓縮時候1.txt就消失了,而是變成了1.txt.gz,那么我們指定到一個目錄,可以讓文件不會消失的同時生成一個新的文件。
解壓的時候同樣也可以指定一個目錄並生成一個新的文件
gzip不能壓縮目錄
6.3 bzip2壓縮工具
bzip2和gzip相比會壓縮的更狠,當然2者算法是不同的,壓縮越狠耗費CPU資源就會越多,同樣bzip2不能壓縮目錄。
默認沒有安裝bzip2,使用yum install -y bzip2
bzip2和gzip使用方法是基本上一樣的,操作實例步驟如下截圖。
bzip2后面跟數字也是可以指定壓縮級別的,默認就是9級別。
bzip2的壓縮文件同樣也是可以使用file查看的,操作實例如下截圖。
[root@jimmylinux-002 d6z]# bzcat 1.txt.bz2 bzip2的文件也是有bzcat可以查看的
6.4 xz壓縮工具
xz和前面的bzip2、gzip相比壓縮是最狠的,其次是bzip2,最不狠的就是gzip。
操作實例如下截圖