ubuntu - 如何在 Ubuntu 中创建一个空的 zip 文件?

标签 ubuntu zip

我有一个场景,我必须首先创建一个 zip 文件,然后,当我的文件从另一个位置到达时,它们将被添加到 zip 中。

第二部分是通过-u参数完成的:

zip -u {{project}}.zip {{file}}
此命令的

--help 也不是很有帮助:

user@host:~# zip --help
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
  The default action is to add or replace zipfile entries from list, which
  can include the special name - to compress standard input.
  If zipfile and list are omitted, zip compresses stdin to stdout.
  -f   freshen: only changed files  -u   update: only changed or new files
  -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
  -r   recurse into directories     -j   junk (don't record) directory names
  -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
  -1   compress faster              -9   compress better
  -q   quiet operation              -v   verbose operation/print version info
  -c   add one-line comments        -z   add zipfile comment
  -@   read names from stdin        -o   make zipfile as old as latest entry
  -x   exclude the following names  -i   include only the following names
  -F   fix zipfile (-FF try harder) -D   do not add directory entries
  -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
  -T   test zipfile integrity       -X   eXclude eXtra file attributes
  -y   store symbolic links as the link instead of the referenced file
  -e   encrypt                      -n   don't compress these suffixes
  -h2  show more help

最佳答案

我用肮脏的方式做到了:

创建了一个名为 emptyfile 的文件,其中包含一个字节(空白)。

然后我将该文件添加到 zip 文件中:

zip -q {{project}}.zip emptyfile

最终删除它:

zip -dq {{project}}.zip emptyfile

(如果省略-q,您将收到警告:zip warning: zip file empty)

这样我就得到了一个空的 zip 文件,可以-u更新。

所有可以转换为 oneliner 的东西(来自 GaspardP 的想法):

echo | zip -q > {{project}}.zip && zip -dq {{project}}.zip -

有没有更优雅的方法来做到这一点?

关于ubuntu - 如何在 Ubuntu 中创建一个空的 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58577354/

相关文章:

匹配安全 openssl 和不安全 openssl 的正则表达式

ubuntu - Phusion 乘客独立 meteor 教程因生成错误而失败

java - Zip 文件 Java 的文件权限

javascript - 在 phonegap 中使用 zip.js 解压文件

ruby - 无法在 Ruby 中将 StringIO 转换为 String (TypeError)

php - 使用 php 将多个文件下载为 zip 文件

java - 直接读取 Zip 文件中的文件 - Java

python - 如何删除使用 distutils 安装的程序?

linux - 将 firefox 图像添加到子用户

shell - 在 Ubuntu 中调试/etc/init.d 启动脚本