如何使用“zip”命令创建没有文件扩展名的 zip 存档?

如何使用“zip”命令创建没有文件扩展名的 zip 存档?

通常,要压缩目录,我可以这样做:

zip -r archive.zip directory/

archive.zip但是,如果我尝试像这样删除扩展:

zip -r archive directory/

它隐式地将.zip扩展附加到输出中。有没有办法在不创建.zip然后重命名它的情况下执行此操作?

zip我在 Ubuntu 18.04 上使用这个版本:

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

答案1

-A( --adjust-sfx) 选项导致按zip原样处理给定的存档名称:

zip -Ar archive directory/

即使archive未创建为自解压存档,此功能也有效。

答案2

您可以让它将 zip 输出提供到 stdout,然后将其重定向到文件:

zip -r - -- directory/ > archive

为了清楚起见,第一个破折号指的是标准输出,一对破折号将初始参数与输入列表分开。

相关内容