我尝试使用相对路径使用 tar 创建存档。我使用以下命令:
tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order
但归档文件仍然有绝对路径。如何将 tar 与相对路径一起使用?
答案1
~
被外壳扩展。不要~
与 -C 一起使用:
tar czf ~/files/wp/my-page-order.tar.gz \
-C ~ \
webapps/zers/wp-content/plugins/my-page-order
(tar 将包含webapps/zers/wp-content/plugins/my-page-order
路径)或
tar czf ~/files/wp/my-page-order.tar.gz \
-C ~/webapps/zers/wp-content/plugins \
my-page-order
(tar 将包含my-page-order
路径)
或者只是cd
先....
cd ~/webapps/zers/wp-content/plugins
tar czf ~/files/wp/my-page-order.tar.gz my-page-order
答案2
-C new_cwd
将当前工作目录更改为new_cwd
.然后相对于 评估以下参数new_cwd
。
例子:
tar czf ~/files/wp/my-page-order.tar.gz \
-C ~/webapps/zers/wp-content/plugins/ my-page-order
答案3
非 GNU 解决方案如果tar
没有-z
选择,只需提及:
pushd ~/files/wp; tar cvf - my-page-order | gzip > my-page-order.tar.gz && rm -rf my-page-order; popd
编辑(有&&
和没有rm
):
pushd ~/files/wp && tar cvf - my-page-order | gzip > my-page-order.tar.gz && popd
答案4
我尝试使用通配符*
,但它也给了我绝对路径,所以我稍后尝试如下:
tar -czf ~/clientkeys.tgz -C /etc/openvpn/client/ .
这会归档(压缩)所有给定的文件,而无需绝对路径。
看来使用点 ( .
) 效果很好。不知道具体为什么。我希望答案有帮助。