題 查看Linux上ZIP存檔中的文件列表


如何在不解壓縮的情況下查看ZIP存檔中的文件列表?


322
2017-11-30 09:05


起源


是否可以對常規的unix存檔執行相同的操作? (tar / gzip / bz2 / etc) - ThorSummoner
tar tvf。如果.gz,添加一個z。對於bz2,添加j。還有更多,請查看手冊頁。 - UtahJarhead


答案:


less 實用程序能夠偷看到 zip 存檔。事實上,如果你看看的輸出 unzip -l zipfile 和 less zipfile,你會發現它們是相同的。


380
2017-11-30 11:33



注意 less zipfile 在MacOS-X上顯示二進製文件內容,因此您會看到很多垃圾而不是zip文件的內容。那你應該選擇``ùnzip-l zipfile``` - heiglandreas
@ayaz在什麼系統中少列出zipfiles?我看到評論告訴它它不適用於MAC,Ubuntu,在這裡我使用Debian。 Debian還顯示了二進制垃圾。 - Dr Beco
在Ubuntu中,試試吧 view [zipfile]。 - Samuel Lampa
錯誤。 unzip -l可以很好地顯示zip存檔中的文件,但在很多情況下很少給出二進制內容,當然這很麻煩。 - Arturas M
你需要的 lesspipe 安裝幫助程序以使zip文件支持更少。它是許多Linux系統的標準,但不是OSX,但你可以用brew安裝它。 - pimlottc


嘗試 unzip -l files.zip | less

另外,見 man unzip 了解更多選擇


86
2017-11-30 09:19



你可以跳過管道 less 命令。不過,在大量文件中這是個好主意。 - omar


要列出zip內容:

zipinfo -1 myzipfile.zip

詳細輸出:

zipinfo myzipfile.zip

48
2017-09-25 14:02



很好的答案,您不必解析輸出只是為了獲取文件名。 - Antoine Pelisse


請用

vim ZIP_FILE_NAME

對於相同的。這是一個簡單易記的。


25
2017-12-16 19:42



很好,這也允許在不進行解壓縮的情況下打開存檔中的單個文件 - user3885927


您可以將zip顯示為目錄(您在其中使用) cdls等等)用它安裝 保險絲拉鍊 虛擬文件系統。

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

另一個相關 保險絲 文件系統是 動靜脈瘺。它創建了整個目錄層次結構的視圖,其中所有存檔都有一個關聯的目錄(與...相同的名稱) # 最後添加的內容似乎包含了存檔內容。

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs

許多現代文件管理器(例如Nautilus,Dolphin)透明地顯示存檔內容。

AVFS是只讀的。 Fuse-zip是可讀寫的,但請注意,更改僅在卸載時寫入zip文件,因此不要開始讀取存檔,期望它被修改,直到 fusermount -u 回報。


9
2017-11-30 22:12



尼斯,吉爾斯。謝謝。只需一個快速:可以通過單擊“cp”到目錄來添加文件嗎? - Dr Beco
@DrBeco帶保險絲拉鍊,是的。有了avfs,沒有。 - Gilles


至少在Ubuntu中,最簡單的命令是:

view [zipfile]

這將打開標准文本編輯器(nano,vim等)中的文件列表。


6
2017-09-10 16:09





它實際上 unzip -l file.zip | grep "search" 或者如果你有很多文件

for i in `ls *zip`; do 
  unzip -l $i | grep "search"; 
done

更新:從'-p'更改為'-l'以搜索文件。


1
2017-08-17 00:51





如果您更注重圖形,Midnight Commander也可以瀏覽zip文件,就像它們是常規目錄一樣。


1
2018-04-21 23:41