带有相对路径的 tar

带有相对路径的 tar

我尝试使用相对路径使用 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/ .

这会归档(压缩)所有给定的文件,而无需绝对路径。

看来使用点 ( .) 效果很好。不知道具体为什么。我希望答案有帮助。

相关内容