.zip 아카이브를 추출하는 동안 파일의 타임스탬프를 보존할 수 있습니까?

.zip 아카이브를 추출하는 동안 파일의 타임스탬프를 보존할 수 있습니까?

.zip 아카이브의 압축을 풀고 추출된 파일의 타임스탬프를 유지하고 싶습니다. 하지만 이 명령은 타임스탬프를 보존하지 않습니다.

unzip my.zip

나는 보았다이 글은 2011년 글입니다, 해결책이 있는지 알고 싶으십니까?

답변1

기본적으로 및 인수 없이 unzip을 사용하면 파일이 추출되고 디렉터리 구조와 타임스탬프가 보존됩니다.

-l 매개변수를 사용하면 파일의 타임스탬프가 표시되는 목록을 얻을 수 있습니다. 추출된 콘텐츠는 목록에 표시된 콘텐츠와 일치합니다.

열려고 하는 zip 파일에서 다른 점을 발견한 경우 "-l" 목록의 출력과 ls -l추출된 디렉터리 목록을 보여줄 수 있습니까?

고쳐 쓰다

하위 폴더에는 zip 아카이브의 타임스탬프가 유지됩니다. 그러나 폴더가 최상위 수준에 있으면 원래 타임스탬프가 손실되고 추출 당시의 타임스탬프가 적용됩니다.

여기에 예가 있습니다. Ortho4XP.zip 파일은 300개 이상의 파일과 하위 디렉터리가 포함된 zip 파일입니다. 오늘은 2017년 8월 7일입니다. 출력에서 볼 수 있듯이 최상위 디렉터리에는 아카이브의 압축이 풀린 날짜가 표시됩니다. 그러나 출력에서 ​​볼 수 있듯이 다른 파일과 하위 디렉터리에는 파일이 압축된 시점의 타임스탬프가 유지됩니다.

ljames@ubunzeus:~/Downloads/open/del/2$ unzip ~/Downloads/Ortho4XP.zip
ljames@ubunzeus:~/Downloads/open/del/2$ ls -lta
total 888
drwxrwxr-x 17 ljames ljames   4096 Aug  7 17:11 .
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 __MACOSX
drwxrwxr-x  2 ljames ljames   4096 Aug  7 17:11 Licence
drwxrwxr-x  2 ljames ljames   4096 Aug  7 17:11 Archives
drwxrwxr-x 12 ljames ljames   4096 Aug  7 17:11 Patches
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Previews
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Utils
drwxrwxr-x  5 ljames ljames   4096 Aug  7 17:11 Install
drwxrwxr-x  3 ljames ljames   4096 Aug  7 17:11 Manual
drwxrwxr-x  5 ljames ljames   4096 Aug  7 17:11 bin
drwxrwxr-x  4 ljames ljames   4096 Aug  7 17:11 ..
-rwxr--r--  1 ljames ljames 389049 Feb 24 19:02 Ortho4XP_devel.py
-rwxr--r--  1 ljames ljames 388606 Jan 12  2017 Ortho4XP_v120b.py
-rwxr--r--  1 ljames ljames  36037 Jan 12  2017 Carnet_d_adresses.py
-rwxr--r--  1 ljames ljames   6716 Sep 12  2016 Ortho4XP.cfg
drwxr--r--  2 ljames ljames   4096 Aug 31  2016 OSM_data
drwxr--r--  2 ljames ljames   4096 Aug 31  2016 Tiles
-rwxr--r--  1 ljames ljames  13332 Jul 10  2016 README.install_NOT_UP_TO_DATE
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Elevation_data
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Masks
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 Orthophotos
drwxr--r--  2 ljames ljames   4096 Jul 21  2015 tmp
ljames@ubunzeus:~/Downloads/open/del/2$

업데이트 #2

아카이브 타임스탬프를 유지하지 않는 폴더와 유지하는 폴더의 차이점을 파악하기 위해 계속 연구 중입니다. 더 명확하게 답변을 곧 업데이트하겠습니다. 이는 zip 파일을 생성할 때 사용된 옵션에 따라 달라질 수 있습니다.

답변2

Busybox 버전은 unzip추출 시 타임스탬프를 유지하지 않는다는 것을 발견했습니다.

$ bsdtar tvvf a.zip
-rw-r--r--  0 1000   1000        0 Jan  1  2000 a
Archive Format: ZIP 1.0 (uncompressed),  Compression: none
$ busybox unzip a.zip
Archive:  a.zip
  inflating: a
$ ls -nd a
-rw-r--r-- 1 1000 1000 0 Nov 17 13:01 a
$ busybox | head -n1
BusyBox v1.36.1 (Debian 1:1.36.1-3.1+b1) multi-call binary.

관련 정보