压缩但不扫描排除的文件夹

压缩但不扫描排除的文件夹

我正在制作一个目录的压缩包。

我用这个命令排除某个文件夹

zip -r myzip.zip /home/test -x share/\*

当我使用此命令时,它仍然会扫描该文件夹。它有许多子文件夹,所以我不希望它浪费时间扫描所有内容,即使我排除了它。它还抛出大量 zip 警告:名称不匹配,因为它有许多符号链接。

有没有一种方法可以在不每次都扫描所有内容的情况下进行压缩?

答案1

从手册页:

-y --symlinks

对于 UNIX 和 VMS(V8.3 及更高版本),将符号链接存储在 zip 存档中,而不是压缩和存储链接引用的文件。这可以避免存档中包含多个文件副本,因为 zip 会递归目录树并直接通过链接访问文件。

答案2

您需要包含要排除的目录的完整路径。如果它位于/home/test

zip -r myzip.zip /home/test -x /home/test/share/\*

如果在其他地方:

zip -r myzip.zip /home/test -x /home/test/path/to/share/\*

相关内容