天天看點

Linux打包和解打包指令tar

打包格式

".tar"格式的打包和解打包都使用 tar 指令,差別隻是選項不同。我們先看看 tar 指令的基本資訊。

  • 指令名稱:tar。
  • 英文原意:tar。
  • 所在路徑:/bin/tar。
  • 執行權限:所有使用者。
  • 功能描述:打包與解打包指令。
[[email protected] ~]#tar [選項] [-f 壓縮包名] 源檔案或目錄

選項:
-c:打包;
-f:指定壓縮包的檔案名。壓縮包的擴充名是用來給管理者識别格式的,是以一定要正确指定擴充名;
-v:顯示打封包件過程;
           

打包多個檔案或目錄,隻要用空格分開即可。例如: 

[[email protected] ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/
#把anaconda-ks.cfg檔案和/tmp目錄打包成ana.tar檔案包
           

打包壓縮目錄。

壓縮指令不能直接壓縮目錄,我們就先用 tar 指令把目錄打成資料包,然後再用 gzip 指令或 bzip2 指令壓縮。例如:

[[email protected] ~]#ll -d test test.tar
drwxr-xr-x 2 root root 4096 6月 17 21:09 test
-rw-r--r-- 1 root root 10240 6月 18 01:06 test.tar
#我們之前已經把test目錄打包成test.tar檔案
[[email protected] ~]# gzip test.tar
[[email protected] ~]# ll test.tar.gz
-rw-r--r-- 1 root root 176 6月 18 01:06 test.tar.gz
#gzip指令會把test.tar壓縮成test.tar.gz
[[email protected] ~]# gzip -d test.tar.gz
#解壓縮,把test.tar.gz解壓縮為test.tar
[[email protected] ~]# bzip2 test.tar
[[email protected] ~]# ll test.tar.bz2
-rw-r--r-- 1 root root 164 6月 18 01:06 test.tar.bz2
#bzip2指令會把test.tar壓縮為 test.tar.bz2格式
           

解打包指令格式

".tar"格式的解打包也需要使用 tar 指令,但是選項不太一樣。指令格式如下:

[[email protected] ~]#tar [選項] 壓縮包

選項:
-x:解打包;
-f:指定壓縮包的檔案名;
-v:顯示打封包件過程;
-t:測試,就是不解打包,隻是査看包中有哪些檔案;
-C 目錄:指定解打包位置;
           

".tar.gz"和".tar.bz2" 格式

你可能會覺得 Linux 實在太不智能了,一個打包壓縮,居然還要先打包成".tar"格式,再壓縮成".tar.gz"或".tar.bz2"格式。其實 tar 指令是可以同時打包壓縮的,前面的講解之所打包和壓縮分開,是為了讓大家了解在 Linux 中打包和壓縮的不同。

使用 tar 指令直接打包壓縮。指令格式如下:

[[email protected] ~]#tar [選項] 壓縮包 源檔案或目錄

選項:

-z:壓縮和解壓縮 ".tar.gz"格式
-j:壓縮和解壓縮 ".tar.bz2"格式
           

壓縮與解壓縮 ".tar.gz"格式。

我們先來看看如何壓縮".tar.gz"格式:

[[email protected] ~]# tar -zcvf tmp.tar.gz /tmp/
#把/temp/目錄直接打包壓縮為".tar.gz"格式,通過"-z"來識别格式,"-cvf"和打包選項一緻
           

解壓縮也隻是在解打包選項"-xvf"前面加了一個"-z"選項。

[[email protected] ~]# tar -zxvf tmp.tar.gz
#解壓縮與解打包".tar.gz"格式
           

前面講的選項"-C"用于指定解壓位置、"-t"用于査看壓縮包内容,在這裡同樣适用。

壓縮與解壓縮".tar.bz2"格式。

和".tar.gz"格式唯一的不同就是"-zcvf"選項換成了 "-jcvf"。

[[email protected] ~]# tar -jcvf tmp.tar.bz2 /tmp/
#打包壓縮為".tar.bz2"格式,注意壓縮封包件名
[[email protected] ~]# tar -jxvf tmp.tar.bz2
#解壓縮與解打包".tar.bz2"格式
           

把檔案直接壓縮成".tar.gz"和".tar.bz2"格式,才是 Linux 中最常用的壓縮方式,這是大家一定要掌握的壓縮和解壓縮方法。