我想要 tar X 目錄,不包括其父目錄

我想要 tar X 目錄,不包括其父目錄
tar cvf /var/lib/backup/sample.tar /home/user/.project

然而,當我提取時,我也得到了它的父母

/backup/
  - /home/
     - /user/
        - .project/

這個 tar 命令之所以能完成它的工作,是因為它在其父級中不包含任何其他內容(user例如,下面的其他資料夾)。

我想以程式設計方式執行此操作,因此將當前工作目錄變更為/home/user/並不是真正的選擇。可以這樣做嗎?

答案1

您可以使用該-C選項在壓縮之前更改/home/user目錄或--strip-components 2在提取時使用。

tar cvfC /var/lib/backup/sample.tar /home/user .project
#                              Note the space ^
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2

答案2

我認為如果您cd進入要建立tar文件的頂級目錄,則不應該遇到此問題。 IE,

cdtousertarup .project.. 您可以像以前一樣在 中指定 tar 檔案的目標位置/var/...

或有什麼原因讓您不想/不能這樣cduser

相關內容