Compression
tar:如何創建具有任意前導目錄的 tar 文件,而無需“cd”到父目錄
假設我有一個文件目錄
/home/user1/dir1
我想創建一個只有“dir1”作為前導目錄的 tar:
/dir1/file1 /dir1/file2
我知道我可以先 cd 到目錄
cd /home/user1/ tar czvf dir1.tar.gz dir1
但是在編寫腳本時,從一個目錄跳轉到另一個目錄並不總是有利的。我想知道有沒有辦法在不更改目前目錄的情況下使用絕對路徑?
我知道我總是可以在 INSIDE 中創建一個帶有絕對路徑的 tar 文件並使用
--strip-components
提取時,但有時額外的路徑名是您不想與 tar 文件一起分發的額外私人資訊。
謝謝!
tar -C 改變目錄
tar -C /home/user1/ -cvzf dir1.tar.gz dir1
順便說一句,用於跟踪更改目錄的便捷工具…使用 pushd 和 popd。
pushd . cd /home/user1 tar cvfz dir1.tar.gz popd
使用 gnu tar,您可以使用與實際不同的基本目錄創建存檔:
tar -c --transform 's,^\.,mybasedir,' .
只需根據您的需要調整 sed 表達式即可。