使用 Linux 将空目录包含在 zip 文件中

使用 Linux 将空目录包含在 zip 文件中

我正在尝试使用以下命令压缩 Linux 目录:

zip -r file.zip .

这可行,但它不包括我想要包含在 zip 文件中的空目录。我怎样才能将它们包含在内?

答案1

您最有可能寻找的答案是:

zip -r 文件.zip . -i \*

压缩空文件夹时会收到警告,但该解决方案的功能与大小无关。它适用于空目录和非空目录。

此解决方案在相对意义上有效,不同于使用 $PWD 的解决方案,例如

zip -r 文件.zip $PWD

这将压缩整个文件夹结构。

答案2

你使用的是什么版本的 zip?我有:

$ zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

如果我创建一些目录:

$ mkdir -p a/{b1,b2}

然后创建一个 zip 文件:

$ zip -r file.zip .
adding: a/ (stored 0%)
adding: a/b1/ (stored 0%)
adding: a/b2/ (stored 0%)

生成的档案似乎有空目录:

$ unzip -l file.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  01-11-2011 11:54   a/
        0  01-11-2011 11:55   a/b1/
        0  01-11-2011 11:54   a/b2/
---------                     -------
        0                     3 files

相关内容