Tar
創建目前目錄的 tar 存檔,沒有前面的句點
當我執行以下操作時:
tar czvf ../myarchive.tar.gz ./
我的 tar 存檔中有一個(煩人的)根文件夾:
創建存檔時如何刪除這個糟糕的時期?
你沒有。
name=${PWD##*/} cd .. tar czf "$name.tar.gz" "$name"
(注意:如果你的 shell 打開了目前目錄符號連結跟踪並且目前目錄是通過符號連結訪問的,這不起作用。)
是的,這不是你要求的,但這是你應該做的。在目前目錄中展開大量文件的存檔很煩人:它將為文件創建目標目錄的負擔放在每個解壓存檔的人身上,如果他們不小心將它們解壓到非空目錄中,則很難清理。大多數時候,檔案應該創建一個單一的頂級目錄,其名稱是檔案的基本名稱。
出現點是因為
tar
按照您在參數中給出的方式創建路徑結構。正如你所給出的那樣**。**作為源,存檔也以相同的結構創建。你可以試試這個並檢查:
tar -czvf ../myarchive.tar.gz *
在 n.st 的評論的幫助下更新答案
tar --xform s:'./':: -czvf ../myarchive.tar.gz ./