tar打包绝对路径文件

  作者:zhanhailiang 日期:2013-11-10

当使用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

你可能感兴趣的:(tar打包绝对路径文件)