Linux'taki ZIP arşivindeki dosyaların listesini görüntüleyin


407

ZIP arşivindeki dosyaların listesini açmadan nasıl görebilirim?


Aynı şeyi düzenli bir unix arşivi için yapmak mümkün müdür? (tar / gzip / bz2 / etc)
ThorSummoner

katran tvf. .gz ise, bir z ekleyin. Bz2 için j ekleyin. Daha fazlası, man sayfasını kontrol edin.
UtahJarhead

Yanıtlar:


469

Yardımcı lessprogram bir ziparşive bakma yeteneğine sahiptir . Aslında, sonuçlarına unzip -l zipfileve sonuçlarına bakarsanız, less zipfileaynı olduklarını göreceksiniz.


98
O, Not less zipfileEğer çöp bir sürü yerine fermuar dosyasının içeriğini görmek benzeri MacOS-X, ikili fileContent görüntüler. Öyleyse, `znzip -l zipfile`` tercihini yapmalısınız
heiglandreas

10
@ayaz Hangi sistemde zipfiles daha az listelenir? MAC, Ubuntu'da çalışmadığını söyleyen yorumları görüyorum ve burada Debian kullanıyorum. Debian ayrıca ikili çöpü gösterir.
Dr Beco,

12
Ubuntu'da deneyin view [zipfile].
Samuel Lampa,

4
YANLIŞ. unzip -l, bir zip arşivi içindeki dosyaları göstermek için iyi çalışır, ancak çoğu durumda daha az ikili içerik sağlar ve bu elbette bir karışıklıktır.
Arturas M

17
lesspipeZip dosyası desteğini daha ucuza etkinleştirmek için yardımcınızın kurulu olması gerekir . Pek çok linux sistemde standarttır, ancak OSX'te standarttır, ancak demlemek için takabilirsiniz.
pimlottc

112

Deneyin unzip -l files.zip | less

Ayrıca, man unzipdaha fazla seçenek için bkz .


6
lessKomut vermek için boruyu atlayabilirsiniz . Yine de, büyük bir dosya koleksiyonunda harika bir fikir.
omar

65

Zip içeriğini listelemek için:

zipinfo -1 myzipfile.zip

Detaylı çıktı için:

zipinfo myzipfile.zip

7
Güzel cevap, sadece dosya isimleri almak için çıktıyı ayrıştırmanız gerekmez.
Antoine Pelisse,

34

Lütfen kullan

vim ZIP_FILE_NAME

aynısı için. Bu basit ve hatırlaması kolay bir şey.


5
Güzel, bu da unzip yapmadan arşivde tek tek dosyaları açmak için izin verir
user3885927

Oldukça beklenmedik ve son derece kullanışlı! Teşekkürler!
Pierre,

Aslında: unzipsistemde yüklü değilse bu işe yaramaz . Bunun yanında, harika!
sjas

13

Sen zip (kullandığınız olduğu bir dizin olarak görünmesine neden olabilir cd, lsile monte edilerek, vs.) sigorta-zip sanal dosya sistemi.

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

Diğer bir ilgili FUSE dosya sistemi AVFS'dir . Tüm arşivlerin #, arşiv içeriğini tutuyor gibi görünen ilişkili bir dizinin ( sonunda tacked aynı adla) bulunduğu tüm dizin hiyerarşinizin bir görünümünü oluşturur .

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

Birçok modern dosya yöneticisi (örneğin Nautilus, Dolphin) arşiv içeriğini şeffaf bir şekilde gösterir.

AVFS salt okunurdur. Sigorta-zip okuma-yazma, ancak değişikliklerin unmount zamanında sadece zip dosyasına yazıldığından emin olun, bu yüzden fusermount -ugeri dönene kadar değiştirilmesini bekleyen arşivi okumaya başlamayın .


Güzel Giles. Teşekkürler. Sadece hızlı: Bir dizine "cp" haklı tutarak bir dosya eklemek?
Dr Beco,

@DrBeco Sigorta zip ile, evet. Avfs ile hayır.
Gilles,

9

En azından Ubuntu'da muhtemelen en kolay komut:

view [zipfile]

Bu dosya listesini standart metin editörünüzde (nano, vim vb.) Açacaktır.


2

Aslında unzip -l file.zip | grep "search"ya da çok dosyanız varsa

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

Güncelleme: Dosyaları aramak için '-p' den '-l' ye değiştirildi.


2

Daha grafik odaklıysanız, Midnight Commander ayrıca zip dosyalarını da normal dizinlermiş gibi tarayabilir.


1

Daha kapsamlı bir çözüm: vim || emacs

@KinORnirvana tarafından verilen önceki cevap, zip arşivi içeriğine sahip bir dosya üretmek için favorim .

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

Ancak, bir arşiv dosyasına göz atmanız veya içinde yer alan bir dosyanın içeriğini görüntülemek için vim veya emacs (nano değil) öneririm .

vim archive.zip

Bu yaklaşım diğer arşiv formatlarıyla da çalışır:

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

İle vim veya emacs şunları yapabilirsiniz:

  • arşiv dosyasının dizin yapısına göz atın.
  • arşiv dosyasının içindeki herhangi bir dosyanın içeriğini görüntüleyin.

görüntü tanımını buraya girin


0

(yaa) Başka bir cevap:

Bu komutu diğer adı:

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

ve (veya ) daha az komut dosyasından vless file.zipyararlanmak için kullanabilirsiniz .vivim

(ayrıca daha az ikame etmek için iyidir, böylece renklere sahip olabilirsiniz)


1
less -R do ANSI renkleri destekler.
Sylvain Leroux
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.