«Обновляет» zip-файл с опцией -FS изменяет время модификации файла?
У меня есть zip-файл, который я использую в качестве резервной копии для своей работы. Я использую опцию «freshen» ( -FS
) всякий раз, когда я хочу обновить файл резервной копии. Тем не менее, файл показывает дату последней модификации как дату, когда я изначально создавал файл, а не какой-либо из нескольких раз, так как я «освежил» файл. Это нормальное поведение?
- В чем разница между gunzip и unzip?
- tar.bz2 7zip выборочная экстракция
- Depsolving для php-pecl-zip
- Как разбить несколько разделенных файлов в разных подпапках
- Помогите с распаковкой .dd.gz, возможно, поврежденной
One Solution collect form web for “«Обновляет» zip-файл с опцией -FS изменяет время модификации файла?”
У Unix нет даты создания, поэтому при обновлении этих файлов в вашем .zip
вы обновляете их в зависимости от даты их модификации, которая в соответствии с обычной zip
страницей является нормальным.
выдержка
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.
пример
Скажем, у нас есть следующие 3 файла:
$ touch file1 file2 file3
Мы добавляем их в ZIP-файл.
$ zip file.zip file{1..3} adding: file1 (stored 0%) adding: file2 (stored 0%) adding: file3 (stored 0%)
Проходит некоторое время, и file3
обновляется.
$ touch file3
Теперь мы обновляем ZIP-файл.
$ zip -FS file.zip file{1..3} updating: file3 (stored 0%)
Проверка файла ZIP, который мы видим, время для файлов теперь выглядит так:
$ 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
Если мы создадим временный каталог и распакуем ZIP-файл в:
$ mkdir temp; cd temp $ unzip ../file.zip Archive: ../file.zip extracting: file1 extracting: file2 extracting: file3
Содержимое этого каталога выглядит следующим образом:
$ 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
И если мы используем команду stat
чтобы проверить 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: -
ПРИМЕЧАНИЕ. Обратите внимание, что есть временные метки для доступа, изменения и изменения. Команда zip
сохраняет время доступа и изменения, когда вы используете ключ -FS
.
Рекомендации
- получить возраст данного файла
- Как найти дату создания файла?
- Получить файл / время создания?