Lihat daftar file dalam arsip ZIP di Linux


407

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


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.


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


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

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.


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.


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


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.


2

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


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


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)


1
less -R jangan mendukung warna ANSI.
Sylvain Leroux
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.