O Unix não tem uma data de criação, portanto, quando você atualizar esses arquivos em .zip
, estará atualizando-os com base na data de modificação deles, que de acordo com a página zip
man é o comportamento normal.
trecho
The new File Sync option (-FS) is also considered a new mode, though it
is similar to update. This mode synchronizes the archive with the files on
the OS, only replacing files in the archive if the file time or size of the
OS file is different, adding new files, and deleting entries from the
archive where there is no matching file. As this mode can delete entries
from the archive, consider making a backup copy of the archive.
Exemplo
Digamos que tenhamos os 3 arquivos a seguir:
$ touch file1 file2 file3
Nós os adicionamos a um arquivo ZIP.
$ zip file.zip file{1..3}
adding: file1 (stored 0%)
adding: file2 (stored 0%)
adding: file3 (stored 0%)
Algum tempo se passa e file3
é atualizado.
$ touch file3
Agora atualizamos o arquivo ZIP.
$ zip -FS file.zip file{1..3}
updating: file3 (stored 0%)
Verificando o arquivo ZIP, vemos os horários dos arquivos agora:
$ unzip -l file.zip
Archive: file.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-12-2014 02:59 file1
0 07-12-2014 02:59 file2
0 07-12-2014 03:00 file3
--------- -------
0 3 files
Se criarmos um diretório temporário e descompactar o arquivo ZIP em:
$ mkdir temp; cd temp
$ unzip ../file.zip
Archive: ../file.zip
extracting: file1
extracting: file2
extracting: file3
O conteúdo deste diretório é o seguinte:
$ ls -l
total 0
-rw-rw-r--. 1 saml saml 0 Jul 12 02:59 file1
-rw-rw-r--. 1 saml saml 0 Jul 12 02:59 file2
-rw-rw-r--. 1 saml saml 0 Jul 12 03:00 file3
E se usarmos o comando stat
para verificar file3
:
$ stat file3
File: ‘file3’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 17307675 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-07-12 03:00:16.000000000 -0400
Modify: 2014-07-12 03:00:16.000000000 -0400
Change: 2014-07-12 03:01:03.447913554 -0400
Birth: -
OBSERVAÇÃO: Observe que há carimbos de data e hora para acesso, modificação e alteração. O comando zip
preserva os horários de acesso e modificação quando você usa a opção -FS
.