说我有一个文件目录在
/home/user1/dir1
我想创build一个只有“dir1”作为主目录的tar:
/dir1/file1 /dir1/file2
我知道我可以先cd到目录
cd /home/user1/ tar czvf dir1.tar.gz dir1
但是编写脚本时,从目录跳转到目录并不总是有利的。 我想知道有没有办法做到绝对path而不改变当前目录?
我知道我总是可以创build一个绝对pathINSIDE和使用的tar文件
--strip-components
当提取时,但有时额外的path名是额外的私人信息,你不想与你的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,你可以创build一个与实际不同的基本目录的存档:
tar -c --transform 's,^\.,mybasedir,' .
只需调整sedexpression式以满足您的需求。
好的,我也发现了
tar -czvf file1.tar.gz /home/user1/dir1/../dir1
也以我想要的方式工作。
tar -C /home/user1/dir -c .