如何在同上源中包含多个文件

How to include multiple files in ditto source

这似乎是可以在 man for ditto 中找到的那种问题,但我已经阅读并用谷歌搜索了这个问题,但没有答案。

我只是想使用同上归档一些文件,如下所示:

ditto -ckv file1 file2 file3 newfile.zip

ditto 似乎允许多个源文件。但是我得到一个错误。

有没有人有办法做到这一点,或者你能确认 ditto 不允许这样做吗?

手册建议只有一个源文件系统对象可以创建存档。

ditto -c [-z | -j | -k] [-v] [-V] [-X] [<options>] src dst_archive

要复制多个文件,您可以将文件或硬 link 文件复制到一个目录,然后使用同上压缩目录。

更新答案

您可以使用内置 zip 命令来做到这一点:

zip archive.zip file1 file2 file3

或者更简单地说:

zip archive.zip file[123]

原答案

你可以用 7zip 来做到这一点。


在这里,我将 3 个文件写入(添加)到存档中:

7z a archive.zip file1 file2 file3

现在,我检查一下里面有什么:

7z l archive.zip 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs x64)

Scanning the drive for archives:
1 file, 2827 bytes (3 KiB)

Listing archive: archive.zip

--
Path = archive.zip
Type = zip
Physical Size = 2827

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2017-06-19 21:48:35 .....         1684          811  file1
2017-06-19 21:48:39 .....         1690          813  file2
2017-06-19 21:48:41 .....         1696          815  file3
------------------- ----- ------------ ------------  ------------------------
2017-06-19 21:48:41               5070         2439  3 files

我同样可以用 unzip:

检查内容
unzip -l archive.zip 

Archive:  archive.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     1684  06-19-2017 21:48   file1
     1690  06-19-2017 21:48   file2
     1696  06-19-2017 21:48   file3
---------                     -------
     5070                     3 files

我使用 homebrew 安装了 7zip 使用:

brew install p7zip