我正在使用這個命令5GB檔案
tar -zxvf archive.tar.gz /folder/in/archive
這是正確的方法嗎?沒有命令行輸出似乎要花很長時間...
答案1
tar
儲存相對路徑預設情況下。如果您嘗試儲存絕對路徑,GNU tar 甚至會這樣說:
tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names
如果您需要提取特定資料夾,請查看 tar 檔案中的內容:
tar -tvf foo.tar
並記下確切的檔案名稱。就我的foo.tar
文件而言,我可以/home/foo/bar
這樣提取:
tar -xvf foo.tar home/foo/bar # Note: no leading slash
所以不,您發布的方式(不一定)不是正確的方式。您必須省略前導斜線。如果您想模擬絕對路徑,請先cd /
執行並確保您是超級用戶。另外,這也有同樣的作用:
tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option
tar
將路徑轉換為相對路徑有非常明顯、充分的理由。一是能夠在原始來源以外的地方恢復檔案。另一個是安全。您可以提取存檔,期望其檔案出現在當前工作目錄中,但卻錯誤地覆蓋其他地方的系統檔案(或您自己的工作)。
注意:如果您使用該-P
選項,tar
將要歸檔絕對路徑。因此,在提取之前檢查大型檔案的內容總是值得的。