作者:鄧聰聰
Linux下的壓縮和解壓縮命令——gzip/gunzip
yum -y install zip gzip (--安裝壓縮工具)
gzip命令
gzip命令用來壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過后,其名稱后面會多處“.gz”擴展名。
gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。gzip不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。
選項:
-a:使用ASCII文字模式;
-d:解開壓縮文件;
-f:強行壓縮文件。不理會文件名稱或硬連接是否存在以及該文件是否為符號連接;
-h:在線幫助;
-l:列出壓縮文件的相關信息;
-L:顯示版本與版權信息;
-n:壓縮文件時,不保存原來的文件名稱及時間戳記;
-N:壓縮文件時,保存原來的文件名稱及時間戳記;
-q:不顯示警告信息;
-r:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-S或<壓縮字尾字符串>或----suffix<壓縮字尾字符串>:更改壓縮字尾字符串;
-t:測試壓縮文件是否正確無誤;
-v:顯示指令執行過程;
-V:顯示版本信息;
-<壓縮效率>:壓縮效率是一個介於1~9的數值,預設值為“6”,指定愈大的數值,壓縮效率就會愈高;
--best:此參數的效果和指定“-9”參數相同;
--fast:此參數的效果和指定“-1”參數相同。
實例
1. 把test目錄下的每個文件壓縮成.gz文件
gzip *
2. 把上例中每個壓縮的文件解壓,並列出詳細的信息
gzip -dv *
3. 詳細顯示例1中每個壓縮的文件的信息,並不解壓
gzip -l *
4.壓縮一個tar備份文件,此時壓縮文件的擴展名為.tar.gz
gzip -r log.tar
5. 遞歸的壓縮目錄
gzip -rv test
這樣,所有test下面的文件都變成了*.gz,目錄依然存在只是目錄里面的文件相應變成了*.gz.這就是壓縮,和打包不同。因為是對目錄操作,所以需要加上-r選項,這樣也可以對子目錄進行遞歸了。
6. 遞歸地解壓目錄
gzip -dr test
gunzip命令
gunzip命令用來解壓縮文件。gunzip是個使用廣泛的解壓縮程序,它用於解開被gzip壓縮過的文件,這些壓縮文件預設最后的擴展名為.gz。事實上gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。
選項:
-a:使用ASCII文字模式;
-c:把解壓后的文件輸出到標准輸出設備;
-f:強行解開壓縮文件,不理會文件名稱或硬連接是否存在以及該文件是否為符號連接;
-h:在線幫助;
-l:列出壓縮文件的相關信息;
-L:顯示版本與版權信息;
-n:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其忽略不予處理;
-N:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上;
-q:不顯示警告信息;
-r:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-S或<壓縮字尾字符串>或----suffix<壓縮字尾字符串>:更改壓縮字尾字符串;
-t:測試壓縮文件是否正確無誤;
-v:顯示指令執行過程;
-V:顯示版本信息;
實例:
1. 首先將/etc目錄下的所有文件以及子目錄進行壓縮,備份壓縮包etc.zip到/opt目錄,然后對etc.zip文件進行gzip壓縮,設置gzip的壓縮級別為9。
zip -r /root/test/iso.zip iso/ --壓縮成zip文件
[root@bogon test]# gzip -9v iso.zip . --gzip壓縮
[root@bogon test]# gzip iso.zip.gz . --解壓縮
2. 查看上述etc.zip.gz文件的壓縮信息。
gzip -l /opt/etc.zip.gz
compressed uncompressed ratio uncompressed_name
11938745 12767265 6.5% /opt/etc.zip
3. 解壓上述etc.zip.gz文件到當前目錄。
[root@mylinux ~]#gzip –d /opt/etc.zip.gz
或者執行
[root@mylinux ~]#gunzip /opt/etc.zip.gz
通過上面的示例可以知道gzip –d等價於gunzip命令。