1. 程式人生 > >Linux下tar命令總結

Linux下tar命令總結

1. 壓縮命令

常用壓縮格式:
.zip,.gz,.bz2,.tar.gz,.tar.bz2.

1.1 .zip格式壓縮

#壓縮檔案
zip 壓縮檔名 原始檔
#壓縮目錄
zip -r 壓縮檔名 源目錄

#解壓縮.zip檔案
unzip 壓縮檔案

1.2 .gz格式壓縮

#壓縮為.gz格式的壓縮檔案,原始檔會消失
gzip 原始檔
#壓縮為.gz格式,原始檔保留
#例如:gzip -c img > img.gz
gzip -c 原始檔 > 壓縮檔案
#壓縮目錄下所有的子檔案,但是不能壓縮目錄
gzip -r 目錄

#解壓縮檔案
gzip -d 壓縮檔案
或者
gunzip 壓縮檔案
#解壓縮目錄(目錄中的子檔案會被解壓縮,目錄不會發生變化)
gunzip -r 目錄

1.3 .bz2格式壓縮

#壓縮為.bz2格式,不保留原始檔
bzip2 原始檔
#壓縮之後保留原始檔
bzip2 -k 原始檔
#注意:bzip2命令不能壓縮目錄

#解壓縮,-k保留壓縮檔案
bzip2 -d 壓縮檔案
或者
bunzip2 壓縮檔案

1.4 打包命令tar

#打包
tar -cvf 打包檔名 原始檔
選項:
-c: 打包
-v: 顯示打包過程
-f: 指定打包後的檔名
例如:
tar -cvf img1.tar img1

#打包到指定目錄
tar czvf test.tar *.txt -C /home/work

#解打包
tar -xvf 打包檔名
選項:
-x:
解打包
例如: tar -xvf img1.tar

1.5 .tar.gz壓縮格式

.tar.gz格式是先打包為.tar格式,再壓縮為.gz格式。

tar -zcvf 壓縮包名.tar.gz 原始檔
選項:
-z: 壓縮為.tar.gz格式

#解壓縮
tar -zxvf 壓縮包名.tar.gz
選項:
-x: 解壓縮.tar.gz格式

1.6 .tar.bz2壓縮格式

tar -jcvf 壓縮包名.tar.bz2 原始檔
選項:
-z: 壓縮為.tar.bz2格式

#解壓縮
tar -jxvf 壓縮包名.tar.bz2
選項:
-x: 解壓縮.tar.bz2格式
tar -jxvf 壓縮包名.tar.bz2 -C 解壓目錄
選項:
-C: 用來指定想要解壓到的目錄
#把壓縮包放到指定位置
tar -zcvf 絕對路徑+壓縮包名.tar.gz 原始檔
例如:
tar -zcvf /test/img.tar.gz img

1. 打包和壓縮

  • 打包:將一大堆檔案或目錄變成一個總的檔案【tar命令】
  • 壓縮:將一個大的檔案通過一些壓縮演算法變成一個小檔案【gzip,bzip2等】

Linux中很多壓縮程式只能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得將這一大堆檔案先打成一個包(tar命令),然後再用壓縮程式進行壓縮(gzip bzip2命令)。

Linux下最常用的打包程式就是tar了,使用tar程式打出來的包我們常稱為tar包tar包檔案的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程式來進行壓縮。

1.1 命令格式

tar [必要引數][選擇引數] [檔案] 

1.2 命令功能

用來壓縮和解壓檔案,tar本身不具有壓縮功能,通過呼叫壓縮功能實現的。

1.3 命令引數

必要引數有如下:

  • -A 新增壓縮檔案到已存在的壓縮
  • -B 設定區塊大小
  • -c 建立新的壓縮檔案
  • -d 記錄檔案的差別
  • -r 新增檔案到已經壓縮的檔案
  • -u 新增改變了和現有的檔案到已經存在的壓縮檔案
  • -x 從壓縮的檔案中提取檔案
  • -t 顯示壓縮檔案的內容
  • -z 支援gzip解壓檔案
  • -j 支援bzip2解壓檔案
  • -Z 支援compress解壓檔案
  • -v 顯示操作過程
  • -l 檔案系統邊界設定
  • -k 保留原有檔案不覆蓋
  • -m 保留檔案不被覆蓋
  • -W 確認壓縮檔案的正確性

可選引數如下:

  • -b 設定區塊數目
  • -C 切換到指定目錄
  • -f 指定壓縮檔案
  • –help 顯示幫助資訊
  • –version 顯示版本資訊

2. 常用命令

2.1 .tar

#解包
tar xvf FileName.tar
#打包
tar cvf FileName.tar DirName
#說明:tar是打包,不是壓縮

2.1 .gz

#解壓1
gunzip FileName.gz
#解壓2
gzip -d FileName.gz
#壓縮
gzip FileName

2.3 .tar.gz 和 .tgz

#解壓
tar zxvf FileName.tar.gz
#壓縮
tar zcvf FileName.tar.gz DirName

2.4 .bz2

#解壓1
bzip2 -d FileName.bz2
#解壓2
bunzip2 FileName.bz2
#壓縮
bzip2 -z FileName

2.5 .tar.bz2

#解壓
tar jxvf FileName.tar.bz2
#壓縮
tar jcvf FileName.tar.bz2 DirName

2.6 .bz

#解壓1
bzip2 -d FileName.bz
#解壓2
bunzip2 FileName.bz

2.7 .tar.bz

#解壓
tar jxvf FileName.tar.bz

2.8 .Z

#解壓
uncompress FileName.Z
#壓縮
compress FileName

2.9 .tar.Z

#解壓
tar Zxvf FileName.tar.Z
#壓縮
tar Zcvf FileName.tar.Z DirName

2.10 .zip

#解壓
unzip FileName.zip
#壓縮
zip FileName.zip DirName

2.11 .rar

#解壓
rar x FileName.rar
#壓縮
rar a FileName.rar DirName 

參考文件