zip -r ./compressed.resource ./file1.js ./file1.js.map
我正在尝试将 2 个文件压缩成一个以.zip
但是,当我运行这个时出现错误:
> zip -r ./compressed.resource ./file1.js ./file1.js.map
zip warning: missing end signature--probably not a zip file (did you
zip warning: remember to use binary mode when you transferred it?)
zip warning: (if you are trying to read a damaged archive try -F)
zip error: Zip file structure invalid (./compressed.resource)
可以保留.resource
扩展吗?
答案1
这可以作为一行程序完成,但不是跨平台的方式,也不是单个命令。
Zip 集成到许多系统中,但通常不作为离散的可执行文件,并且跨平台的命令不一致。
然而,有一点是一致的,那就是 Zip 会压缩文件,并且不会重命名文件扩展名。
为了压缩和重命名,您需要使用两个离散命令。
答案2
由于您没有提供任何有关操作系统、软件版本等的信息。我只是假设您使用的是最新的 Linux 发行版。虽然 zip 是一种存档格式,但它只允许以 .zip 结尾的文件。使用不同的存档程序(如tar
make)并告诉它应用压缩(请参阅手册页,它真的很有见地)。如果您提供它需要的所有参数,Tar 将允许您将输出命名为您想要的任何名称。这就是您获得 .tgz bzw. tar.gz 或 tar.bz2 或任何其他名称的方式。