linux之歸檔壓縮那點事

文章目錄


Linux 支持的壓縮算法非常多,且不同的算法都有對應的命令。 所以在解壓縮文件時,就需要知道該文件是由哪種壓縮算法生成的,在這個時候,就要根據壓縮文件擴展名來選擇了,下表列出了幾種常見的壓縮文件擴展名及對應的算法。

擴展名 算法 備註
*.Z compress,比較早的壓縮算法,現在已經很少使用了 -
*.gz gzip,比較常用的壓縮方法,由GNU開發,取代了 compress 1. 只能壓縮文件
2. 壓縮後,源文件會被刪除
3. 解壓縮後,壓縮文件會被刪除
*.bz2 bzip2,比較常用的壓縮方法,壓縮率比gzip高,由GNU開發,準備用來取代gzip,目前兩者都很流行 1. 只能壓縮文件
2. 壓縮後,源文件會被刪除
3. 解壓縮後,壓縮文件會被刪除
*.xz xz ,比gzipbzip2壓縮比都要搞的壓縮算法 1. 只能壓縮文件
2. 壓縮後,源文件會被刪除
3. 解壓縮後,壓縮文件會被刪除
*.tar - 可以對目錄和文件進行歸檔,沒有進行壓縮
.tar.gz tar歸檔文件使用gzip算法壓縮 -
.tar.bz2 tar歸檔文件使用bzip2算法壓縮 -
.tar.xz tar歸檔文件使用xz算法壓縮 -
*.zip zip , 既可以做歸檔又可以做壓縮,centos 中需要單獨安裝,使用場景比較少 可以對目錄和文件進行歸檔和壓縮

gzip

gunzip命令用於解壓縮。

zcat命令用於查看gzip壓縮後的文件,若壓縮文件特別大,zcat會特別慢。

gzip命令用於壓縮文件,命令格式爲gzip [OPTION] file...

選項 作用
-d 解壓縮gzip壓縮後的文檔,相當於gunzip命令
-c, --stdout 1. 當壓縮的時候,用於保留源文件,使用該選項可以將壓縮結果輸出,默認是輸出到標準輸出,可以使用io重定向到一個目標文件
2. 當和-d一起用於解壓縮的時候,用於保留壓縮文件,該選項可以將解壓縮結果輸出,,默認是輸出到標準輸出,可以使用io重定向到一個目標文件
-# 指定壓縮比,默認是6,可以選範圍1-9,數字越大,資源小號越多,壓縮後的文件越小
-k 可以用於檢驗壓縮文件的一致性
-v 可以顯示出源文件和壓縮文件的壓縮比
-f,–force 強制覆蓋同名目標文件
[vagrant@nexus3 gzipdemo]$ ls
yumdb
[vagrant@nexus3 gzipdemo]$ gzip yumdb 
[vagrant@nexus3 gzipdemo]$ ls
yumdb.gz
[vagrant@nexus3 gzipdemo]$ gzip -d yumdb.gz 
[vagrant@nexus3 gzipdemo]$ ls
yumdb
[vagrant@nexus3 gzipdemo]$ gzip -c yumdb > yumdbc.gz
[vagrant@nexus3 gzipdemo]$ ls
yumdb  yumdbc.gz
[vagrant@nexus3 gzipdemo]$ gzip -v yumdb 
yumdb:	 78.2% -- replaced with yumdb.gz
[vagrant@nexus3 gzipdemo]$ ls
yumdbc.gz  yumdb.gz
[vagrant@nexus3 gzipdemo]$ gzip -dc yumdb.gz > ./yumdb_optionc
[vagrant@nexus3 gzipdemo]$ ls
yumdbc.gz  yumdb.gz  yumdb_optionc

bzip2

bunzip2命令用於解壓縮。

bzcat命令用於查看bzip2壓縮後的文件,若壓縮文件特別大,bzcat會特別慢。

bzip2命令用於壓縮文件,命令格式爲bzip2 [OPTION] file...

選項 作用
-d 解壓縮bzip2壓縮後的文檔,相當於bunzip2命令
-c, --stdout 1. 當壓縮的時候,用於保留源文件,使用該選項可以將壓縮結果輸出,默認是輸出到標準輸出,可以使用io重定向到一個目標文件
2. 當和-d一起用於解壓縮的時候,用於保留壓縮文件,該選項可以將解壓縮結果輸出,,默認是輸出到標準輸出,可以使用io重定向到一個目標文件
-# 指定壓縮比,默認是6,可以選範圍1-9,數字越大,資源小號越多,壓縮後的文件越小
-t 可以用於檢驗壓縮文件的一致性
-v 可以顯示出源文件和壓縮文件的壓縮比
-k, --keep 1. 當壓縮的時候,用於保留源文件,與-c不同的在於不會將結果輸出到標準輸出
2. 當和-d一起用於解壓縮的時候,用於保留壓縮文件,與-c不同的在於不會將結果輸出到標準輸出
-f,–force 強制覆蓋同名目標文件

xz

xz命令用於解壓縮。

xzcat命令用於查看xz壓縮後的文件,若壓縮文件特別大,bzcat會特別慢。

xz命令用於壓縮文件,命令格式爲xz [OPTION] file...xz命令的選擇同bzip2

tar

歸檔用於將衆多的文件/目錄歸檔爲一個文件。命令格式:tar [OPTION...] [FILE]...

歸檔文件:tar [-j|-J|-z] [cv] [-f 歸檔文件名] file...

查看歸檔文件: tar [-j|-J|-z] [tv] [-f 歸檔文件名]

釋放歸檔文件:tar [-j|-J|-z] [xv] [-f 歸檔文件名] [-C 釋放的目標路徑]

選項 作用
[-j|-J|-z] 指定使用那種壓縮算法:
-j 使用bzip2進行壓縮/解壓縮,文件名稱*.tar.bz2
-J使用xz進行壓縮/解壓縮,文件名稱*.tar.xz
-z使用gzip進行壓縮/解壓縮,文件名稱*.tar.gz
[cv|tv|xv] v表示查看歸檔/釋放歸檔的過程
cv表示進行歸檔
tv表示查看歸檔文件
xv表示釋放歸檔文件
-f 後面要接歸檔文件名
-C, --directory=DIR 指定歸檔文件釋放的目標路徑
-r, --append append files to the end of an archive
-d, --diff, --compare find differences between archive and file system
-u, --update only append files newer than copy in archive
–exclude 打包目錄的時候,略過指定的部分
tar -cvzf /tmp/system.tar.gz --exculde=/etc/root/yum.d --exclude=/etc/root/xxx.rc /etc/root
–newer-mtime --newer-mtime=2008/09/29
–newer-ctime --newer-ctime=2008/06/03
–overwrite overwrite existing files when extracting
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章