Zip

我們可以在提取 .zip 存檔時保留文件的時間戳嗎?

  • November 2, 2021

我想解壓縮 .zip 存檔,並保留提取文件的時間戳。但此命令不保留時間戳:

unzip my.zip

我在 2011 年看到這個文章,想知道是否有解決方案?

預設情況下,使用不帶和參數的 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 文件時使用的選項。

引用自:https://unix.stackexchange.com/questions/164071