如何從不同的資料夾建立 tar 檔案到特定的資料夾

如何從不同的資料夾建立 tar 檔案到特定的資料夾

大家好,我是 Linux 新手。

我正在嘗試從不同的目錄建立 tar 文件,並希望將其放置在特定的目錄中。

我已經嘗試過這個cmd

tar -cvf dailybackup.tar /root/filesfromlocalmachine/ -C /root/backup/

有一個名為 pf backup 的資料夾,我希望在其中建立 tar。但是每當我執行此命令時,都會在我執行命令的資料夾中建立 tar 。有沒有辦法從不同的資料夾建立 tar 檔案。

答案1

是的,把目錄放在「tar」前面。

cd /
tar -cvf /where/to/put/it/dailybackup.tar root/backup/

它會備份root/backup

我建議始終使用相對路徑進行備份(正如我在答案中使用的那樣),否則當您想在其他地方恢復它時,您可能會覆蓋目標,然後與備份版本進行比較。

答案2

每當tar遇到一個-C選項時,當前工作目錄發生變化,後面的所有選項都會受到影響。它使該選項對順序敏感。

./a:      ./b:
file001   file002

例如,使用多個-C選項使第二個選項-C相對於第一個選項。

$ tar -vcf archive.tar.gz -C ./a . -C ../b .  
./  
./file001  
./  
./file002

因為-C不調整[FILE...]條目,路徑擴展(...通配符)不會起作用。然而,在需要通配符的情況下,--transform可以使用。

$ tar -cvf archive.tar.gz \
    --show-transformed-names --transform='s:^./.*/::' ./[ab]/file00?
file001
file002

此外,'--strip-components=<n>'也可用於萃取時剝離主要成分。

$ tar -vxf archive.tar.gz \
    --show-transformed-names --strip-components=2  
file001  
file002

相關內容