".tar"格式的打包和解打包都使用 tar 命令,區(qū)別只是選項不同。我們先看看 tar 命令的基本信息。
命令名稱:tar。
英文原意:tar。
所在路徑:/bin/tar。
執(zhí)行權限:所有用戶。
功能描述:打包與解打包命令。
打包命令格式
[root@localhost ~]#tar [選項] [-f 壓縮包名] 源文件或目錄選項:
-c:打包;
-f:指定壓縮包的文件名。壓縮包的擴展名是用來給管理員識別格式的,所以一定要正確指定擴展名;-v:顯示打包文件過程;
【例 1】基本使用。
我們先打包一個文件練練手。
[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg#把anacondehks.cfg打包為 anacondehks.cfg.tar文件選項"-cvf"一般是習慣用法,記住打包時需要指定打包之后的文件名,而且要用".tar"作為擴展名。那打包目錄呢?我們也試試:
[root@localhost ~]# ll -d test/
drwxr-xr-x 2 root root 4096 6月 17 21:09 test/#test是我們之前的測試目錄
[root@localhost ~]# tar -cvf test.tar test/test/
test/test3
test/test2
test/test1
#把目錄打包為test.tar文件
tar命令也可以打包多個文件或目錄,只要用空格分開即可。例如:
[root@localhost ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/#把anaconda-ks.cfg文件和/tmp目錄打包成ana.tar文件包【例 2】打包壓縮目錄。
我們已經(jīng)解釋過了,壓縮命令不能直接壓縮目錄,我們就先用 tar 命令把目錄打成數(shù)據(jù)包,然后再用 gzip 命令或 bzip2 命令壓縮。例如:
[root@localhost ~]#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#我們之前已經(jīng)把test目錄打包成test.tar文件[root@localhost ~]# gzip test.tar
[root@localhost ~]# ll test.tar.gz
-rw-r--r-- 1 root root 176 6月 18 01:06 test.tar.gz#gzip命令會把test.tar壓縮成test.tar.gz
[root@localhost ~]# gzip -d test.tar.gz
#解壓縮,把test.tar.gz解壓縮為test.tar
[root@localhost ~]# bzip2 test.tar
[root@localhost ~]# 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 命令,但是選項不太一樣。命令格式如下:
[root@localhost ~]#tar [選項] 壓縮包
選項:
-x:解打包;
-f:指定壓縮包的文件名;
-v:顯示打包文件過程;
-t:測試,就是不解打包,只是査看包中有哪些文件;-C 目錄:指定解打包位置;
其實解打包和打包相比,只是把打包選項"-cvf"更換為"-xvf"。我們來試試:
[root@localhost ~]# tar -xvf anaconda-ks.cfg. tar#解打包到當前目錄下
如果使用"-xvf"選項,則會把包中的文件解壓到當前目錄下。如果想要指定解壓位置,則需要使用"-C(大寫)"選項。例如:
[root@localhost ~]# tar -xvf test.tar -C /tmp#把文件包test.tar解打包到/tmp/目錄下
如果只想査看文件包中有哪些文件,則可以把解打包選項"-x"更換為測試選項"-t"。例如:
[root@localhost ~]# tar -tvf test.tar
drwxr-xr-x root/root 0 2016-06-17 21:09 test/-rw-r-r- root/root 0 2016-06-17 17:51 test/test3-rw-r-r- root/root 0 2016-06-17 17:51 test/test2-rw-r-r- root/root 0 2016-06-17 17:51 test/test1#會用長格式顯示test.tar文件包中文件的詳細信息".tar.gz"和".tar.bz2" 格式
你可能會覺得 Linux 實在太不智能了,一個打包壓縮,居然還要先打包成".tar"格式,再壓縮成".tar.gz"或".tar.bz2"格式。其實 tar 命令是可以同時打包壓縮的,前面的講解之所打包和壓縮分開,是為了讓大家了解在 Linux 中打包和壓縮的不同。
使用 tar 命令直接打包壓縮。命令格式如下:
[root@localhost ~]#tar [選項] 壓縮包 源文件或目錄選項:
-z:壓縮和解壓縮 ".tar.gz"格式
-j:壓縮和街壓縮 ".tar.bz2"格式
【例 1】壓縮與解壓縮 ".tar.gz"格式。
我們先來看看如何壓縮".tar.gz"格式:
[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/#把/temp/目錄直接打包壓縮為".tar.gz"格式,通過"-z"來識別格式,"-cvf"和打包選項一致解壓縮也只是在解打包選項"-xvf"前面加了一個"-z"選項。
[root@localhost ~]# tar -zxvf tmp.tar.gz
#解壓縮與解打包".tar.gz"格式
前面講的選項"-C"用于指定解壓位置、"-t"用于査看壓縮包內(nèi)容,在這里同樣適用。
【例 2】壓縮與解壓縮".tar.bz2"格式。
和".tar.gz"格式唯一的不同就是"-zcvf"選項換成了 "-jcvf"。
[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/#打包壓縮為".tar.bz2"格式,注意壓縮包文件名[root@localhost ~]# tar -jxvf tmp.tar.bz2#解壓縮與解打包".tar.bz2"格式
把文件直接壓縮成".tar.gz"和".tar.bz2"格式,才是 Linux 中最常用的壓縮方式,這是大家一定要掌握的壓縮和解壓縮方法。
》》》傳智播客linux培訓班,帶你從新手到大神,咨詢右下角窗口咨詢開班時間《《《