
大家好,我是 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