1. 程式人生 > >tar打包絕對路徑檔案

tar打包絕對路徑檔案

當使用tar打包絕對路徑檔案時會警告:tar: Removing leading `/' from member names

[[email protected] ~]$ 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會產生如此的提示,並且實際產生的壓縮包會將絕對路徑轉化為相對路徑,如下

[[email protected] ~]$ 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
[[email protected] ~]$ tar zxvf test2.tar.gz 
home/user_00/wade/test/
home/user_00/wade/test/test.php

當我們去解壓這樣的打包檔案時,tar會在當前目錄下再建立目錄”home/user_00/wade/”,對於這樣的打包檔案,只能通過hack指定根目錄”-C /“來解決。

[[email protected] ~]$ tar zxvf test2.tar.gz -C /
home/user_00/wade/test/
home/user_00/wade/test/test.php
[user[email protected] ~]$ 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引數打包絕對路徑檔案,如下:

[[email protected] ~]$ tar -zcvPf test3.tar.gz /home/user_00/wade/test
/home/user_00/wade/test/
/home/user_00/wade/test/test.php
[[email protected] ~]$ 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)