Если я заархивирую папку, внесу изменения в обычные разархивированные файлы, а затем снова заархивирую эту папку, возможно ли иметь только эти измененные файлы в новом отдельном архиве?
Итак, первая команда zip будет :
zip -r folder.zip *
Второй что-то вроде:
zip -r -u folder.zip * < changedFilesOnly.zip // would save output
Да, это можно сделать, и есть командный переключатель zip
, специально разработанный для этой цели. Я покажу вам в качестве примера, а затем вы можете адаптировать его к своим собственным целям.
Сначала я создал zip-архив своей папки сценариев с помощью следующей команды (работающей из моей домашней папки):
zip -r Scripts.zip Scripts
Теперь в ней было 76 элементов. Затем я добавил 2 файла PDF в папку Scripts на диске, а затем выполнил следующую команду и перенес просто новые и измененные файлы в новый zipfile:
zip -r Scripts.zip Scripts -DF --out new.zip
Это был output:
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.
blockquote>Есть несколько интересных опций, с которыми можно поиграть для zip, поэтому, пожалуйста, смотрите
man zip
или руководства по Ubuntu онлайн .