.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.