将文件添加到zip文件中的特定目录

时间:2013-04-13 18:47:56

标签: linux unix zip

假设我们有一个包含名为aq的目录的zip文件,并且在当前工作目录中我们有文件:

./
|- aq/a.txt
|- b.txt

当我使用此命令时: zip test.zip aq/* a.txt文件将压缩到zip文件中的aq目录

问题是如何将b.txt添加到aq文件中的test.zip目录中,而不将b.txt放在aq目录中就像我对a.txt所做的一样,它在当前的工作目录中?

1 个答案:

答案 0 :(得分:0)

创建一个名为的临时目录,例如/tmp/$$/aq/,将符号链接到临时目录,然后执行:

(cd /tmp/$$ && zip -r $ZIPDEST aq/)

即。使用临时目录拉链。 zip默认遵循符号链接,因此它将文件放入zip中而不进行复制。

这就是我如何构建复杂的分层zip文件而不复制所有内容以进行存档。

当您将项目放入存档时,Tar有更好的重命名项目选项,但您询问了zip。