打包格式
".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 中最常用的壓縮方式,這是大家一定要掌握的壓縮和解壓縮方法。