歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

tar

日期:2017/3/3 14:12:53   编辑:Linux技術

關於tar -P的使用,man tar後得到

-P, –absolute-names, don’t strip leading `/’s from file names

看了書籍解釋是

保留絕對路徑,即允許備份數據中含有根目錄存在之意

看了兩種解釋都不是特別理解,於是自己實踐了一下,搞清楚了tar -P的含義。

以下是不加-P時文件壓縮解壓縮的過程:首先在/tmp目錄創建一個dir目錄(待打包)

進入home目錄,執行tar -jvc -f dir.tar.bz2 /tmp/dir,會出現這樣一句話,

removing leading ‘/’ from member names。

不加-P參數時,默認是是拿掉文件最開始的根目錄。

查看打包的文件,tar -jvt -f dir.tar.bz2,可以觀察到,文件路徑是相對路徑不是絕對路徑。

當解包時,文件會解壓到當前目錄/home下,也就是解壓的文件為/home/tmp/dir。

以下為加上-P後的壓縮解壓縮過程:

1. 首先在/tmp目錄創建一個dir目錄(待打包)

2. 進入home目錄,執行tar -jvc -P -f dir.tar.bz2 /tmp/dir,注意,此時不會出現removing leading ‘/’ from member names那句話。

3. 查看打包的文件,tar -jtP -f dir.tar.bz2,可以觀察到,此時文件路徑是絕對路徑而不是相對路徑。

4. 當解包時,文件會解壓到壓縮包原來的路徑,也就是/tmp/dir,不會解壓到當前目錄/home/tmp/dir下。

以上可以看出,如果你需要將備份文件還原至本來目錄時,需要加-P參數,如果只是備份,還原時不用替換原來文件時,不需要加。

Copyright © Linux教程網 All Rights Reserved