作者: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