是否可以将更改的文件压缩到仅包含更改文件的单独存档中

是否可以将更改的文件压缩到仅包含更改文件的单独存档中

如果我压缩一个文件夹,对正常的解压文件进行更改,然后再次压缩该文件夹,是否可以只将那些更改的文件保存在新的单独存档中?

因此第一个 zip 命令是:

zip -r folder.zip *

第二个类似于:

zip -r -u folder.zip * < changedFilesOnly.zip // would save output

答案1

是的,这是可以做到的,并且有一个zip专门为此设计的命令开关。我将通过示例向您展示,然后您可以根据自己的目的进行调整。

我首先使用以下命令创建了我的脚本文件夹的 zip 存档(从我的主文件夹开始):

zip -r Scripts.zip Scripts

现在有 76 个项目。然后我将大约 2 个 pdf 添加到磁盘上的 Scripts 文件夹中,然后运行以下命令,并传输只是将新的和更改的文件复制到新的 zip 文件:

zip -r Scripts.zip Scripts -DF --out new.zip

输出结果如下:

updating: Scripts/ (stored 0%)
adding: Scripts/GIMP+Magazine+Issue+1.pdf (deflated 2%)
adding: Scripts/Whitepaper-CentralisedLogging-v1.pdf (deflated 10%)

现在只有这 2 个新文件在 中new.zip,它们尚未添加到原始 zip 中。在命令中,选项-DF允许我们创建一个使用开关指定的“差异存档” --out,以便任何存在于磁盘文件夹中但不在原始 zip 中的新文件都转到新 zip。因此,根据手册页,确实可以

创建一个包含自创建原始档案以来所有新文件和更改文件的档案。要实现此功能,输入文件列表和当前目录必须与原始 zip 操作期间的相同。

对于 zip 有一些有趣的选项可以尝试,所以请参阅man zipUbuntu 在线手册页

相关内容