CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

时间:2022-12-31 18:40:50

声明:本文主要总结自:鸟哥的Linux私房菜-第八章、檔案與檔案系統的壓縮,打包與備份,如有侵权,请通知博主

tar命令


 

選項與參數:
-c :建立打包檔案,可搭配 -v 來察看過程中被打包的檔名(filename)
-t :察看打包檔案的內容含有哪些檔名,重點在察看『檔名』就是了;
-x :解打包或解壓縮的功能,可以搭配 -C (大寫) 在特定目錄解開
特別留意的是, -c, -t, -x 不可同時出現在一串指令列中。
-z :透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz
-j :透過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2
-J :透過 xz 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.xz
特別留意, -z, -j, -J 不可以同時出現在一串指令列中
-v :在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來!
-f filename:-f 後面要立刻接要被處理的檔名!建議 -f 單獨寫一個選項囉!(比較不會忘記)
-C 目錄 :這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。

其他後續練習會使用到的選項介紹:
-p(小寫) :保留備份資料的原本權限與屬性,常用於備份(-c)重要的設定檔
-P(大寫) :保留絕對路徑,亦即允許備份資料中含有根目錄存在之意;
--exclude=FILE:在壓縮的過程中,不要將 FILE 打包!

tar [-z|-j|-J] [cv] [-f 待建立的新檔名] filename... <==打包與壓縮
tar [-z|-j|-J] [tv] [-f 既有的 tar檔名] <==察看檔名
tar [-z|-j|-J] [xv] [-f 既有的 tar檔名] [-C 目錄] <==解壓縮
(  --源自鸟哥的私房菜)
 

tarfile: xxx.tar

tarball: xxx.tar.{gz|bz2|xz}

1. 打包成xxx.tar(即tarfile)


 

用法:tar -cvf xxx.tar xxx ... (多个目录)

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

 

2. 解包xxx.tar


 

用法:tar -xvf xxx.tar

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

 

3. 打包成压缩文件(即tarball)


 

压缩命令有:gzip, bzip2, xz

压缩后的文件后缀为:xxx.gz, xxx.bz2, xxx.xz

打包成压缩文件需要经过2步

  1. 先打包成xxx.tar

  2.再压缩为xxx.tar.{gz|bz2|xz}

然而tar已经可以通过命令一步完成以上过程,下面只拿gzip这个压缩命令来说,bzip2和xz的用法与其一样:

-z: 使用gzip命令进行压缩/解压缩

-j: 使用bzip2命令进行压缩/解压缩

-J: 使用xz命令进行压缩/解压缩

-c: 压缩

-x: 解压缩

-t: 查看tar文件内容

-v: 显示压缩或解压缩的过程


(1). 使用tar进行打包压缩成xxx.tar.gz

用法:tar -zcvf xxx.tar.gz xxx ...(多个目录)  

 CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

(2). 使用tar查看压缩包内的内容

用法:tar -ztvf xxx.tar.gz

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

(3). 使用tar解压缩xxx.tar.gz文件

用法:tar -zxvf xxx.tar.gz

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

(4). 使用tar解压缩xxx.tar.gz文件到指定的目录(该目录需已经存在)

用法:tar -zxvf xxx.tar.gz -C destdir

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩

(5). 使用tar解压缩xxx.tar.gz中某个文件

 用法: tar -zxvf xxx.tar.gz aaa/bbb

CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩