解析tar命令

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中。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值