Próbuję dodać rozpakowane pliki do istniejącego już skompresowanego folderu powiedz new folder.zip
. Czy można używać zip -r new folder.zip
po dodaniu do nich niektórych rozpakowanych plików? Czy to polecenie skompresuje folder? Czy jest na to jakaś alternatywa?
32
Odpowiedzi:
Użyj flagi aktualizacji:
-u
Przykład:
To polecenie kompresuje i dodaje
myFolder
(i jego zawartość) doexisting.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
Zaktualizowana struktura źródła
Stosowanie
źródło
Wierzę, że możesz dodawać pliki za pomocą tego polecenia:
zip -r zipfile.zip newfile.txt newfile1.txt
-r
Opcja polecenia suwak pozwala na dodawanie plików.źródło
-r
jest opcją rekurencyjną.-r
może być używana przy dodawaniu katalogów lub gdy nie dodaje się katalogów. Cóż za każdym razem, gdy nie chcesz po prostu dodawać katalogu i żadnej zawartości, więc prawie cały czas W skrócie, przykład jest poprawny, ale wyjaśnienie jest błędne.) (Najlepiej to przetestować, to tylko moja interpretacja instrukcji).Flaga -u działa dla plików do
pozdrowienia
źródło
Z powodzeniem użyłem
zip
polecenia. z opcją grow (-g), aby dodać podfolderfolder1/folder2
zawierający plikifileA.txt
ifileB.txt
:-r
oznacza recurse reż.Z mojego zrozumienia -g powinien rozwinąć pliki zip, nie tworząc nowego pliku zip (może to być przydatne w przypadku bardzo dużych archiwów zip). W przypadku problemów możesz najpierw spróbować utworzyć podfoldery w folderze.zip za pomocą (np.):
źródło
Jeśli masz wiele plików w tym samym miejscu z archiwum zip i chcesz je wszystkie skopiować do archiwum, możesz:
To aktualizuje plik zip (
-u
opcja) rekurencyjnie (-r
opcja) ze wszystkimi znalezionymi plikami oprócz samego pliku zip (!
jest to negacja pliku zip )Następnie możesz po prostu usunąć wszystkie pliki oprócz pliku zip zgodnie z powyższą regułą:
źródło