Użyj flagi aktualizacji: -u
Przykład:
zip -ur existing.zip myFolder
To polecenie kompresuje i dodaje myFolder
(i jego zawartość) do existing.zip
.
Zaawansowane użycie:
Flaga aktualizacji porównuje przychodzące pliki z istniejącymi i albo doda nowe pliki, albo zaktualizuje istniejące.
Dlatego jeśli chcesz dodać / zaktualizować określony podkatalog w pliku zip, po prostu zaktualizuj źródło zgodnie z potrzebami, a następnie ponownie skompresuj całe źródło za pomocą -u
flagi. Tylko zmienione pliki zostaną skompresowane.
Jeśli nie masz dostępu do plików źródłowych, możesz rozpakować plik zip, a następnie zaktualizować żądane pliki, a następnie ponownie skompresować za pomocą -u
flagi. Ponownie tylko zmienione pliki zostaną skompresowane.
Przykład:
Oryginalna struktura źródła
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
Zaktualizowana struktura źródła
ParentDir
├── file1.txt
├── file2.txt
├── ChildDir
│ ├── file3.txt
│ ├── Logs
│ │ ├── logs1.txt
│ │ ├── logs2.txt
│ │ ├── logs3.txt
│ │ ├── logs4.txt <-- NEW FILE
Stosowanie
$ zip -ur existing.zip ParentDir
> updating: ParentDir/ChildDir/Logs (stored 0%)
> adding: ParentDir/ChildDir/Logs/logs4.txt (stored 96%)