tar 与相对路径

Mer*_*glu 31 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
Run Code Online (Sandbox Code Playgroud)

但是归档文件仍然具有绝对路径。如何将 tar 与相对路径一起使用?

sym*_*ean 29

~由外壳扩展。不要~与 -C 一起使用:

tar czf ~/files/wp/my-page-order.tar.gz \
      -C ~ \
       webapps/zers/wp-content/plugins/my-page-order
Run Code Online (Sandbox Code Playgroud)

(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
Run Code Online (Sandbox Code Playgroud)

(tar 将包含my-page-order路径)

还是cd先....

cd ~/webapps/zers/wp-content/plugins
tar czf ~/files/wp/my-page-order.tar.gz my-page-order
Run Code Online (Sandbox Code Playgroud)

  • 解释有误。在这里*~* 被shell 扩展无关紧要。重要的是,`-C` 更改了当前工作目录,如 Lekensteyn 在 [anwer](http://unix.stackexchange.com/a/22843/5355) 中所述。 (3认同)

Lek*_*eyn 17

-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
Run Code Online (Sandbox Code Playgroud)