linux系统下tar/gz/7z/xz/bz2/zip等各种格式的打包压缩解压
linux系統(tǒng)下總會遇到各種格式的壓縮包,什么tar/gz/7z/xz/bz2/zip等等,每種格式文件的解壓和壓縮方法都不完全一致,所攜帶的參數(shù)也都各有千秋,初學者往往會一臉茫然,不知如何是好。于是,本文就對上述各種常見的文件和命令進行一番總結(jié)和對比,以便查閱和參考。
一、tar/tgz/tar.gz/tar.bz2/tar.xz
1、優(yōu)勢特點
tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包文件,但它僅僅只是一個打包工具,并不負責壓縮。
而實際使用中,除了要打包之外,往往還需要進行一下壓縮,提高空間利用率。因此,很多時候,tar命令并不是單獨出現(xiàn)的,而是伴隨著其他的壓縮命令一起出現(xiàn)。比如:tar.gz格式,tar.bz2格式,tar.xz格式等等。另外,也有可能會縮寫合并之后出現(xiàn),比如:tgz格式。對于這些文件應該如何處理呢,下面就進行詳細的分析。
2、壓縮命令
tar -cvf target_name.tar dir_or_file # 將目標打包成一個*.tar格式的文件 tar -czvf target_name.tgz dir_or_file # 將目標打包成一個*.tgz格式的文件 tar -czvf target_name.tar.gz dir_or_file # 將目標打包并壓縮成一個*.tar.gz格式的文件 tar -cjvf target_name.tar.bz2 dir_or_file # 將目標打包并壓縮成一個*.tar.bz2格式的文件相對上述幾類文件,*.tar.xz文件則比較特殊,需要兩條命令來進行打包和壓縮:
tar -cvf target_name.tar dir_or_file # 1.將目標打包成一個*.tar格式的文件 xz -z target_name.tar.xz # 2.將打包好的文件壓縮成一個*.tar.xz格式的文件3、解壓命令
tar -xvf pakage_name.tar # 解開一個*.tar的文件包內(nèi)容到當前目錄下 tar -xzvf pakage_name.tgz # 解開一個*.tgz的文件包內(nèi)容到當前目錄下 tar -xzvf pakage_name.tar.gz # 解開一個*.tar.gz的壓縮包內(nèi)容到當前目錄下 tar -xjvf pakage_name.tar.bz2 # 解開一個*.tar.bz2的壓縮包內(nèi)容到當前目錄下上面這幾個解包命令將會將文檔解開在當前目錄下面。當然,你也可以用參數(shù)"-C"來更改解包的路徑:
tar -xvf pakage_name.tar -C /opt/target_dir/ # 解開一個*.tar的文件包內(nèi)容到指定目錄下 tar -xzvf pakage_name.tgz -C /opt/target_dir/ # 解開一個*.tgz的文件包內(nèi)容到指定目錄下 tar -xzvf pakage_name.tar.gz -C /opt/target_dir/ # 解開一個*.tar.gz的壓縮包內(nèi)容到指定目錄下 tar -xjvf pakage_name.tar.bz2 -C /opt/target_dir/ # 解開一個*.tar.bz2的壓縮包內(nèi)容到指定目錄下同上,*.tar.xz文件同樣比較特殊,需要兩條命令來解開:
xz -d pakage_name.tar.xz # 1.解開tar.xz壓縮包為tar格式包 tar -xvf pakage_name.tar # 2.解開tar格式包到當前目錄下4、參數(shù)說明
- 命令類型參數(shù):
- -c或–create:建立新的備份文件。
- -x或–extract或–get:從備份文件中還原文件。
- 壓縮方式參數(shù):
- -j或–bzip2:以bz2的算法來壓縮或者解壓文件。
- -z或–gzip或–ungzip:通過 gzip 指令處理備份文件。
- 其他常用參數(shù):
- -v或–verbose:顯示指令執(zhí)行過程。
- -C<目的目錄>或–directory=<目的目錄>:切換到指定的目錄。
二、7z
1、優(yōu)勢特點
這是一個非通用的命令格式。在一般的linux發(fā)行系統(tǒng)上都沒有原配,需要自己下載安裝,以Ubuntu為例,直接使用下述命令即可。
sudo apt-get install p7zip2、壓縮命令
7za a -t7z -r -mx=9 Mytest.7z /opt/temp/*- a 代表添加文件/文件夾到壓縮包。
- t 是指定壓縮類型,這里定為7z,可不指定,因為7za默認壓縮類型就是7z。
- r 表示遞歸所有的子文件夾。
- Mytest.7z 是壓縮好后的壓縮包名。
- /opt/temp/*:是壓縮目標。
- -mx=9 表明我們需要極限的壓縮比。默認為5。
3、解壓命令
7za x test.7z -r -o./- x 代表解壓縮文件,并且是按原始目錄樹解壓(還有個參數(shù) e 也是解壓縮文件,但其會將所有文件都解壓到根下,而不是自己原有的文件夾下)。
- test.7z 是壓縮文件。
- r 表示遞歸解壓縮所有的子文件夾。
- o 是指定解壓到的目錄,-o后是沒有空格的,直接接目錄。這一點需要注意。
三、zip/unzip
1、優(yōu)勢特點
linux下提供了zip和unzip程序,zip是壓縮程序,unzip是解壓程序。
2、壓縮命令
zip target.zip dir_or_file3、解壓命令
unzip pakage_name.zip4、參數(shù)說明
zip命令的參數(shù):
- A 調(diào)整可執(zhí)行的自動解壓縮文件。
- d 從壓縮文件內(nèi)刪除指定的文件。
- D 壓縮文件內(nèi)不建立目錄名稱。
- F 嘗試修復已損壞的壓縮文件。
- g 將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件。
- j 只保存文件名稱及其內(nèi)容,而不存放任何目錄名稱。
- m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中。
- o 以壓縮文件內(nèi)擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。
- q 不顯示指令執(zhí)行過程。
- r 遞歸處理,將指定目錄下的所有文件和子目錄一并處理。
- S 包含系統(tǒng)和隱藏文件。
- v 顯示指令執(zhí)行過程或顯示版本信息。
- <壓縮效率> 壓縮效率是一個介于 1-9 的數(shù)值。
unzip命令的參數(shù):
- f 更新現(xiàn)有的文件。
- l 顯示壓縮文件內(nèi)所包含的文件。
- v 執(zhí)行是時顯示詳細的信息。
- C 壓縮文件中的文件名稱區(qū)分大小寫。
- j 不處理壓縮文件中原有的目錄路徑。
- L 將壓縮文件中的全部文件名改為小寫。
- n 解壓縮時不要覆蓋原有的文件。
- o 不必先詢問用戶,unzip 執(zhí)行后覆蓋原有文件。
- P<密碼> 使用 zip 的密碼選項。
- q 執(zhí)行時不顯示任何信息。
- [.zip 文件] 指定.zip 壓縮文件。
- [文件] 指定要處理.zip 壓縮文件中的哪些文件。
- d<目錄> 指定文件解壓縮后所要存儲的目錄。
- x<文件> 指定不要處理.zip 壓縮文件中的哪些文件。
總結(jié)
以上是生活随笔為你收集整理的linux系统下tar/gz/7z/xz/bz2/zip等各种格式的打包压缩解压的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KNN交叉验证,找出合适的K值
- 下一篇: linux系统设置允许密码登录