一、.tar.gz格式和.tar.bz2格式
使用tar命令后跟選項的方式實現tar命令和gzip或者bzip2命令的組合,實現同時進行打包和壓縮,這也是最經常使用的壓縮和解壓縮方式
一)語法格式
語法格式:tar [參數] [文件或目錄]
二)常用參數
-A 新增文件到以存在的備份文件 -B 設置區塊大小 -c 建立新的備份文件 -C <目錄> 切換工作目錄,先進入指定目錄再執行壓縮/解壓縮操作,可用於僅壓縮特定目錄里的內容或解壓縮到特定目錄 -d 記錄文件的差別 -x 從歸檔文件中提取文件 -t 列出備份文件的內容 -z 通過gzip指令壓縮/解壓縮文件,文件名最好為*.tar.gz -Z 通過compress指令處理備份文件 -f<備份文件> 指定備份文件 -v 顯示指令執行過程 -r 添加文件到已經壓縮的文件 -u 添加改變了和現有的文件到已經存在的壓縮文件 -j 通過bzip2指令壓縮/解壓縮文件,文件名最好為*.tar.bz2 -v 顯示操作過程 -l 文件系統邊界設置 -k 保留原有文件不覆蓋 -m 保留文件不被覆蓋 -w 確認壓縮文件的正確性 -p 保留原來的文件權限與屬性 -P 使用文件名的絕對路徑,不移除文件名稱前的“/”號 -N <日期格式> 只將較指定日期更新的文件保存到備份文件里 -- -exclude=<范本樣式> 排除符合范本樣式的文件 -- -remove-files 歸檔/壓縮之后刪除源文件
二、.gz格式
.gz格式和.bz2格式是Linux中最常見的壓縮格式,使用gzip命令
gzip不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。
https://www.linuxcool.com/gzip
一)語法格式
語法格式:gzip [參數]
二)常用參數
-a 使用ASCII文字模式 -d 解開壓縮文件 -f 強行壓縮文件 -l 列出壓縮文件的相關信息 -c 把壓縮后的文件輸出到標准輸出設備,不去更動原始文件 -r 遞歸處理,將指定目錄下的所有文件及子目錄一並處理 -q 不顯示警告信息
三、.biz格式
Linux系統中bzip2命令的英文是“bunzip2”,即.bz2文件格式的壓縮程序; bzip2命令系統默認是沒有安裝的,需要安裝bzip2庫才可以使用此命令。
bzip2命令采用新的壓縮演算法,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。若沒有加上任何參數,bzip2壓縮完文件后會產生.bz2的壓縮文件,並刪除原始的文件。
一)語法格式
語法格式:bzip2 [參數] 文件系統
二)常用參數
-c 將壓縮與解壓縮的結果送到標准輸出 -d 執行解壓縮 -f bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數 -k bzip2在壓縮或解壓縮后,會刪除原始的文件。若要保留原始文件,請使用此參數 -s 降低程序執行時內存的使用量 -t 測試.bz2壓縮文件的完整性 -v 壓縮或解壓縮文件時,顯示詳細的信息 -z 強制執行壓縮
四、.zip格式
一)常用操作
1、把/home目錄下面的mydata目錄壓縮為mydata.zip zip -r mydata.zip mydata #壓縮mydata目錄 2、把/home目錄下面的mydata.zip解壓到mydatabak目錄里面 unzip mydata.zip -d mydatabak 3、把/home目錄下面的abc文件夾和123.txt壓縮成為abc123.zip zip -r abc123.zip abc 123.txt 4、把/home目錄下面的wwwroot.zip直接解壓到/home目錄里面 unzip wwwroot.zip 5、把/home目錄下面的abc12.zip、abc23.zip、abc34.zip同時解壓到/home目錄里面 unzip abc\*.zip 6、查看把/home目錄下面的wwwroot.zip里面的內容 unzip -v wwwroot.zip 7、驗證/home目錄下面的wwwroot.zip是否完整 unzip -t wwwroot.zip 8、把/home目錄下面wwwroot.zip里面的所有文件解壓到第一級目錄 unzip -j wwwroot.zip
二)unzip主要參數
-c:將解壓縮的結果 -l:顯示壓縮文件內所包含的文件 -p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換 -t:檢查壓縮文件是否正確 -u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中 -v:執行是時顯示詳細的信息 -z:僅顯示壓縮文件的備注文字 -a:對文本文件進行必要的字符轉換 -b:不要對文本文件進行字符轉換 -C:壓縮文件中的文件名稱區分大小寫 -j:不處理壓縮文件中原有的目錄路徑 -L:將壓縮文件中的全部文件名改為小寫 -M:將輸出結果送到more程序處理 -n:解壓縮時不要覆蓋原有的文件 -o:不必先詢問用戶,unzip執行后覆蓋原有文件 -P:使用zip的密碼選項 -q:執行時不顯示任何信息 -s:將文件名中的空白字符轉換為底線字符 -V:保留VMS的文件版本信息 -X:解壓縮時同時回存文件原來的UID/GID
五、.tar.xz格式
一)解壓tar.xz安裝包
Ubuntu上安裝nodejs,下載的文件是node-v8.11.1-linux-x64.tar.xz,這是兩層壓縮,外面是xz壓縮,里層是tar壓縮,所以分兩步實現解壓。 # xz -d node-v8.11.1-linux-x64.tar.xz # tar -xvf node-v8.11.1-linux-x64.tar.xz123 也可以直接解壓 # tar -xvJf node-v8.11.1-linux-x64.tar.xz1 tar.xz格式的壓縮包大小比.tar要小,但是壓縮解壓縮時間比較長
二)創建tar.xz壓縮文件
先創建xxx.tar文件 # tar -cvf xxx.tar xxx1 再創建xxx.tar.xz文件 # xz -z xxx.tar1 如果要保留被壓縮的文件,需要加上參數-k
三)解壓縮tar.xz文件
解壓xz壓縮文件 xz -d 待解壓文件 -k 保留原文件; 這樣解壓出來的文件是tar格式的打包文件,需要執行: tar -xvf 待解包文件名)
需要注意的是:tar命令中沒有直接解壓xz壓縮格式的參數(比如-f解壓bzip2、 -z解壓gzip)
