相对路径的tar


Answers:


24

“〜”由外壳扩展。不要在-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将包含“我的页面顺序”路径)

还是先放CD ...

cd ~/webapps/zers/wp-content/plugins
tar czf ~/files/wp/my-page-order.tar.gz my-page-order

2
解释是错误的。在这里由shell扩展并不重要。重要的是-C更改当前的工作目录,如Lekensteyn所解释。
Piotr Dobrogost 2015年

1
不-看原始问题-最后一个参数是绝对路径。
symcbean 2015年

所以呢?〜的两个实例都被扩展,并且整个调用不能按预期方式工作,这仅是因为在使用的情况下,最后一个参数-C应该作为相对路径给出,而作为绝对路径给出。在这里使用一点都不重要。
Piotr Dobrogost,2015年

11

-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


4

非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

(1)这个问题没有说什么rm;为什么将它包括在答案中?(2)您的答案存档了错误的目录。(3)为什么更改tar -ztar | gzip?(4)只要要使用&&,您可能也应该&&在之后使用pushd
G-Man说“恢复莫妮卡”

(1)您正确(2)正确吗?哪个好?(3)这就是重点:tar的非GNU版本(例如,在Unix上),没有-z (4)我可能会&&在脚本中使用,但是我认为在“单一衬里”中这不是必需的
Mattia72

(2)OP希望将~/webapps/zers/wp-content/plugins/my-page-order输出存档到~/files/wp/my-page-order.tar.gz; 您的命令档案~/files/wp/my-page-order。(3)感谢您编辑答案以解释使用原因gzip
G-Man说“恢复莫妮卡”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.