tar命令的用法如下。摘自“鸟哥的私房菜”。
tar [-zxcvfpP] tfile sfile
参数说明:
-z :是否同时具有 gzip 的属性?
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
-c :建立一个压缩档案的参数指令
-v :压缩的过程中显示档案!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用“ tar -zcvfP tfile sfile”就是错误的写法,要写成“tar -zcvPf tfile sfile”。
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
使用tar命令时,要注意绝对路径和相对路径的区别。默认的情况使用的是相对路径。如下列。
【例1】
[flagonxia@localhost flagonxia]$ pwd
/home/flagonxia
[flagonxia@localhost flagonxia]$ ls -l
drwxrwxr-x 2 flagonxia flagonxia 4096 1月 12 00:35 awk_stu
......
生成tar文件:
[flagonxia@localhost flagonxia]$ tar -cvf awk_stu_lc.tar /home/flagonxia/awk_stu
tar: Removing leading `/' from member names
home/flagonxia/awk_stu/
home/flagonxia/awk_stu/awkeg.txt
home/flagonxia/awk_stu/awk88_10
查看一下tar文件里的内容
[flagonxia@localhost flagonxia]$ tar -tvf awk_stu_lc.tar
drwxrwxr-x flagonxia/flagonxia 0 2009-01-12 00:35:15 home/flagonxia/awk_stu/
-rw-rw-r-- flagonxia/flagonxia 483 2009-01-09 18:54:22 home/flagonxia/awk_stu/awkeg.txt
-rw-rw-r-- flagonxia/flagonxia 62 2009-01-09 19:16:13 home/flagonxia/awk_stu/awk88_10
在生成tar文件时,指定的源目录是/home/flagonxia/awk_stu,但是由于默认是使用相对路径,归档到tar里的文件路径都成了home/flagonxia/awk_stu/...,第一个/被删除了。
把tar文件拷贝到./test中,并展开。
[flagonxia@localhost test]$ pwd
/home/flagonxia/test
[flagonxia@localhost test]$ ls -l
-rw-rw-r-- 1 flagonxia flagonxia 10240 1月 12 01:03 awk_stu_lc.tar
[flagonxia@localhost test]$ tar -xvf awk_stu_lc.tar
[flagonxia@localhost test]$ ls -l
-rw-rw-r-- 1 flagonxia flagonxia 10240 1月 12 01:03 awk_stu_lc.tar
drwxrwxr-x 3 flagonxia flagonxia 4096 1月 12 01:08 home
在test目录里产生了一个home子目录,该目录的结构是/home/flagonxia/awk_stu。
[flagonxia@localhost awk_stu]$ pwd
/home/flagonxia/test/home/flagonxia/awk_stu
[flagonxia@localhost awk_stu]$ ls -l
-rw-rw-r-- 1 flagonxia flagonxia 62 1月 9 19:16 awk88_10
-rw-rw-r-- 1 flagonxia flagonxia 483 1月 9 18:54 awkeg.txt
【例2】使用绝对路径
[flagonxia@localhost flagonxia]$ tar -cvPf awk_stu_ab.tar /home/flagonxia/awk_stu
/home/flagonxia/awk_stu/
/home/flagonxia/awk_stu/awkeg.txt
/home/flagonxia/awk_stu/awk88_10
-P参数指定在生成tar文件时使用绝对路径。查看一下tar文件里的内容。
[flagonxia@localhost flagonxia]$ tar -tvf awk_stu_ab.tar
drwxrwxr-x flagonxia/flagonxia 0 2009-01-12 00:35:15 /home/flagonxia/awk_stu/
-rw-rw-r-- flagonxia/flagonxia 483 2009-01-09 18:54:22 /home/flagonxia/awk_stu/awkeg.txt
-rw-rw-r-- flagonxia/flagonxia 62 2009-01-09 19:16:13 /home/flagonxia/awk_stu/awk88_10
文件都是以绝对路径的形式出现,如/home/flagonxia/awk_stu/awkeg.txt
把awk_stu_ab.tar拷贝到test目录里,然后展开
[flagonxia@localhost test]$ pwd
/home/flagonxia/test
[flagonxia@localhost test]$ tar -xvPf awk_stu_ab.tar
/home/flagonxia/awk_stu/
/home/flagonxia/awk_stu/awkeg.txt
/home/flagonxia/awk_stu/awk88_10
tar文件其实展开到了/home/flagonxia/awk_stu下,把原来的文件给覆盖了。这里注意,在展开tar文件时,也要使用P参数,否则tar只是把文件展开在/home/flagonxia/test/awk_stu中。