Aby uzyskać nowy plik zip, podobnie jak tar, czy muszę wykonać rm foo.zip
przed uruchomieniem zip
?
$ mkdir foo; touch foo/bar
$ zip -r foo.zip foo
adding: foo/ (stored 0%)
adding: foo/bar (stored 0%)
$ rm foo/bar; touch foo/baz
$ zip -r foo.zip foo
adding: foo/ (stored 0%)
adding: foo/baz (stored 0%)
$ unzip -l foo.zip
Archive: foo.zip
Length Date Time Name
--------- ---------- ----- ----
0 2011-10-27 07:49 foo/
0 2011-10-27 07:49 foo/bar
0 2011-10-27 07:49 foo/baz
--------- -------
0 3 files
command-line
zip
asari
źródło
źródło
-FS
nie jest-F
i-S
razem. Tak było od co najmniej zip 3.0. Sprawdzićman zip
.Zip 3.0
i nie działaZip 2.32
(nie usuwa starych plików w pakiecie zip)-FS -r
, prawda?Alternatywą dla skorzystania z
-FS
opcji (lub usunięcia starego pliku ZIP) i dosłownie zastąpienia istniejącego pliku ZIP jest poproszeniezip
o wyjście na standardowe wejście i przekierowanie wyjścia do wybranego pliku:Jeśli plik foo.zip istnieje, zostanie zastąpiony przekierowaniem powłoki, co oznacza, że za każdym razem otrzymasz 100% nowego pliku ZIP 🙂
źródło