tar打包绝对路径文件

当使用tar打包绝对路径文件时会警告:tar: Removing leading `/' from member names

[user_00@CoalaaHK1 ~]$ tar -zcvf test2.tar.gz /home/user_00/wade/test
tar: Removing leading `/' from member names
/home/user_00/wade/test/
/home/user_00/wade/test/test.php

首先需要知道:*nix系统中,使用tar对文件打包时,一般不建议使用绝对路径。

但是当需要在两台环境相似的机器上进行同步复制【发布系统需求】的时候,就有需要使用绝对路径进行打包。此时使用绝对路径打包时如果不指定相应的参数,tar会产生如此的提示,并且实际产生的压缩包会将绝对路径转化为相对路径,如下

[user_00@CoalaaHK1 ~]$ tar -zcvf test2.tar.gz /home/user_00/wade/test
tar: Removing leading `/' from member names
/home/user_00/wade/test/
/home/user_00/wade/test/test.php
[user_00@CoalaaHK1 ~]$ tar zxvf test2.tar.gz 
home/user_00/wade/test/
home/user_00/wade/test/test.php

当我们去解压这样的打包文件时,tar会在当前目录下再创建目录”home/user_00/wade/”,对于这样的打包文件,只能通过hack指定根目录”-C /“来解决。

[user_00@CoalaaHK1 ~]$ tar zxvf test2.tar.gz -C /
home/user_00/wade/test/
home/user_00/wade/test/test.php
[user_00@CoalaaHK1 ~]$ ls -al /home/user_00/wade/test/
total 24
drwxrwxr-x  2 user_00 user_00 4096 Nov 10 19:59 .
drwxrwxr-x 10 user_00 user_00 4096 Nov 10 20:27 ..
-rw-rw-r--  1 user_00 user_00   62 Oct 31 20:02 test.php

当然,tar支持通过-P参数打包绝对路径文件,如下:

[user_00@CoalaaHK1 ~]$ tar -zcvPf test3.tar.gz /home/user_00/wade/test
/home/user_00/wade/test/
/home/user_00/wade/test/test.php
[user_00@CoalaaHK1 ~]$ tar -zxvPf test3.tar.gz 
/home/user_00/wade/test/
/home/user_00/wade/test/test.php

原文:(http://blog.csdn.net/billfeller/article/details/15107897)

猜你喜欢

转载自blog.csdn.net/gzwawj/article/details/79538575