Linux-tar
概述
tar命令可以為linux的文件和目錄創建檔案。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或將幾個文件組合成為一個文件以便于網絡傳輸是非常有用的。
首先要弄清兩個概念:打包和壓縮。打包是指將一大堆文件或目錄變成一個總的文件;壓縮則是將一個大的文件通過一些壓縮算法變成一個小文件。
為什么要區分這兩個概念呢?這源于Linux中很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然后再用壓縮程序進行壓縮(gzip bzip2命令)。
linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包后,就可以用其它的程序來進行壓縮。
常見壓縮格式
- .zip / .gz / .bz2
- .tar.gz / .tar.bz2
.zip格式壓縮
zip格式和window是通用的
.zip格式解壓
.gz格式壓縮
.gz格式解壓
.bz2格式壓縮
.bz2格式解壓
打包命令 tar -cvf
解打包命令 tar -xvf
.tar.gz壓縮格式
.tar.bz2解壓格式
參數解釋
必要參數有如下:
-A 新增壓縮文件到已存在的壓縮
-B 設置區塊大小
-c 建立新的壓縮文件
-d 記錄文件的差別
-r 添加文件到已經壓縮的文件
-u 添加改變了和現有的文件到已經存在的壓縮文件
-x 從壓縮的文件中提取文件
-t 顯示壓縮文件的內容
-z 支持gzip解壓文件
-j 支持bzip2解壓文件
-Z 支持compress解壓文件
-v 顯示操作過程
-l 文件系統邊界設置
-k 保留原有文件不覆蓋
-m 保留文件不被覆蓋
-W 確認壓縮文件的正確性
可選參數如下:
-b 設置區塊數目
-C 切換到指定目錄
-f 指定壓縮文件
–help 顯示幫助信息
–version 顯示版本信息
舉例
舉例壓縮
tar -cvf jpg.tar *.jpg //將目錄里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux
舉例解壓
tar -xvf file.tar //解壓 tar包tar -xzvf file.tar.gz //解壓tar.gztar -xjvf file.tar.bz2 //解壓 tar.bz2tar -xZvf file.tar.Z //解壓tar.Zunrar e file.rar //解壓rarunzip file.zip //解壓zip排除某些目錄不壓縮
–exclude
tar -zcvf xiaogongjiang.tar.gz --exclude=xgj/version xiaogongjiang排除多個文件/目錄,增加 –exclude 即可
tar -zcvf xiaogongjiang.tar.gz --exclude=xgj/version --exclude=abc/def xiaogongjiang注意:使用tar 的–exclude 命令排除打包的時候,不能加“/”,否則會把對應目錄以及其下的文件打包進去
總結
總結
1、*.tar 用 tar -xvf 解壓
2、*.gz 用 gzip -d或者gunzip 解壓
3、.tar.gz和.tgz 用 tar -xzf 解壓
4、*.bz2 用 bzip2 -d或者用bunzip2 解壓
5、*.tar.bz2用tar -xjf 解壓
6、*.Z 用 uncompress 解壓
7、*.tar.Z 用tar -xZf 解壓
8、*.rar 用 unrar e解壓
9、*.zip 用 unzip 解壓
總結
- 上一篇: Linux-压缩成带有时间文件名的文件
- 下一篇: CentOS-创建yum本地源