Lihat daftar file dalam arsip ZIP di Linux

407

Bagaimana saya bisa melihat daftar file dalam arsip ZIP tanpa mendekompresnya?

danidacar
sumber
Apakah mungkin untuk melakukan hal yang sama untuk arsip unix biasa? (tar / gzip / bz2 / etc)
ThorSummoner
ter tvf. jika .gz, tambahkan z. Untuk bz2, tambahkan j. Banyak lagi, periksa halaman manual.
UtahJarhead

Jawaban:

470

The lessutilitas yang mampu mengintip ke dalam ziparsip. Bahkan, jika Anda melihat output dari unzip -l zipfiledan less zipfile, Anda akan menemukan mereka identik.

ayaz
sumber
98
Perhatikan, bahwa less zipfilepada MacOS-X menampilkan konten biner, sehingga Anda melihat banyak sampah daripada konten file zip. Maka Anda harus memilih `` ùnzip -l zipfile```
heiglandreas
10
@ayaz Dalam sistem apa yang kurang mencantumkan zipfiles? Saya melihat komentar mengatakan bahwa itu tidak berfungsi pada MAC, Ubuntu, dan di sini saya menggunakan Debian. Debian juga menunjukkan sampah biner.
Dr Beco
12
Di Ubuntu, coba view [zipfile].
Samuel Lampa
4
SALAH. unzip -l berfungsi dengan baik untuk menunjukkan file-file di dalam arsip zip, tetapi kurang memberikan konten biner dalam banyak kasus dan itu tentu saja berantakan.
Arturas M
17
Anda perlu lesspipepenolong diinstal untuk mengaktifkan dukungan file zip kurang. Ini standar pada banyak sistem linux tetapi tidak pada OSX, tetapi Anda dapat menginstalnya dengan minuman.
pimlottc
112

Mencoba unzip -l files.zip | less

Juga, Lihat man unzipuntuk lebih banyak opsi

Ken Ratanachai S.
sumber
6
Anda dapat melewati pipa untuk lessperintah. Ini adalah ide bagus dalam koleksi file yang besar.
omar
65

Untuk daftar konten zip:

zipinfo -1 myzipfile.zip

Untuk output terperinci:

zipinfo myzipfile.zip
kinORnirvana
sumber
7
Jawaban yang bagus, Anda tidak perlu mengurai output hanya untuk mendapatkan nama file.
Antoine Pelisse
34

Mohon gunakan

vim ZIP_FILE_NAME

untuk yang sama. Ini sederhana dan mudah diingat.

Rajasekhar Tolety
sumber
5
Bagus, ini juga memungkinkan untuk membuka file individual dalam arsip tanpa melakukan unzip
user3885927
Cukup tak terduga, dan sangat berguna! Terima kasih!
Pierre
Sebenarnya: ini tidak akan berfungsi jika unziptidak diinstal pada sistem. Selain itu, luar biasa!
sjas
13

Anda dapat membuat pos muncul sebagai direktori (di mana Anda menggunakan cd, ls, dll) dengan me-mount dengan sekering-zip filesystem virtual.

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

Sistem file FUSE lain yang relevan adalah AVFS . Itu menciptakan pandangan dari seluruh hierarki direktori Anda di mana semua arsip memiliki direktori terkait (nama yang sama dengan #ditempel di akhir) yang tampaknya memegang konten arsip.

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

Banyak manajer file modern (mis. Nautilus, Dolphin) menampilkan konten arsip secara transparan.

AVFS hanya baca. Fuse-zip adalah read-write, tetapi berhati-hatilah karena perubahan hanya ditulis ke file zip pada saat unmount, jadi jangan mulai membaca arsip yang mengharapkannya untuk dimodifikasi sampai fusermount -ukembali.

Gilles
sumber
Bagus, Giles. Terima kasih. Hanya sekilas: dapatkah seseorang menambahkan file ke dalamnya dengan hanya memasukkan "cp" ke direktori?
Dr Beco
@DrBeco Dengan fuse-zip, ya. Dengan avf, tidak.
Gilles
9

Paling tidak di Ubuntu, perintah yang paling mudah adalah:

view [zipfile]

Ini akan membuka daftar file di editor teks standar Anda (nano, vim dll).

Samuel Lampa
sumber
2

Sebenarnya unzip -l file.zip | grep "search"atau jika Anda memiliki banyak file

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

Pembaruan: Berubah dari '-p' ke '-l' untuk mencari file.

rampok
sumber
2

Jika Anda lebih berorientasi grafis, Midnight Commander juga dapat menelusuri file zip seolah-olah itu adalah direktori biasa.

Charles Burge
sumber
1

Solusi yang lebih komprehensif: vim || emacs

Jawaban sebelumnya oleh @kinORnirvana adalah favorit saya untuk menghasilkan file dengan isi arsip zip.

zipinfo [-1] archive.zip > archive_content.txt

Namun, saya merekomendasikan vim atau emacs (bukan nano) jika Anda perlu menelusuri file arsip atau bahkan untuk melihat konten file yang terkandung di dalamnya.

vim archive.zip

Pendekatan ini juga berfungsi dengan format arsip lain:

vim file.tar
vim file.tar.gz
vim file.tar.bz2

Dengan vim atau emacs Anda dapat:

  • telusuri struktur direktori dari file arsip.
  • melihat konten file apa pun di dalam file arsip.

masukkan deskripsi gambar di sini

ePi272314
sumber
0

(yaa) Namun jawaban lain:

Alias ​​perintah ini:

alias vless='/usr/share/vim/vim73/macros/less.sh'

dan Anda dapat menggunakan vless file.zipuntuk memanfaatkan vi(atau vim) lebih sedikit skrip.

(juga bagus untuk menggantikan kurang, sehingga Anda dapat memiliki warna)

Dr Beco
sumber
1
less -R jangan mendukung warna ANSI.
Sylvain Leroux