一、基本概念
打包和压缩细分的话可以分为以下四类:
1.打包
将多个文件或者目录包成一个大文件。
2.解包
即打包的反向操作:将一个打包好的文件解成多个文件或者目录。
3.压缩
将大型文件通过某种技术使其在磁盘的容量变小。
4.解压缩
即压缩的反向操作:将小文件变大。
当然,在实际的操作过程中打包压缩是同时结合使用的,解包和解压缩是同时使用的。
二、tar命令参数
tar的命令参数非常多,可以使用man 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 打包!
三、操作分类
1.打包压缩(习惯性简称为压缩):
tar -jcv -f filename.tar.bz2 要被压缩的文件或者目录名称;
注:j表示通过bzip2的方式进行压缩。
2.查询(查看打包后的文件有哪些内容):
tar -jtv -f filename.tar.bz2
3.解包解压缩(习惯性称为解压缩)
tar -jxv -f filename.tar.bz2 -C 欲解压的目录;