Visualizza l'elenco dei file nell'archivio ZIP su Linux


407

Come posso visualizzare l'elenco dei file in un archivio ZIP senza decomprimerlo?


È possibile fare lo stesso per un normale archivio unix? (tar / gzip / bz2 / etc)
ThorSummoner,

tar tvf. se .gz, aggiungi una z. Per bz2, aggiungi j. Molto di più, controlla la pagina man.
UtahJarhead,

Risposte:


470

L' lessutilità è in grado di sbirciare in un ziparchivio. In effetti, se guardi le uscite di unzip -l zipfilee less zipfile, le troverai identiche.


98
Si noti che less zipfilesu MacOS-X visualizza il contenuto binario del file, quindi si vede molta spazzatura invece del contenuto del file zip. Quindi dovresti optare per il `` ùnzip -l zipfile``
heiglandreas

10
@ayaz In quale sistema elenca meno file zip? Vedo commenti che dicono che non funziona su MAC, Ubuntu e qui uso Debian. Debian mostra anche spazzatura binaria.
Dr Beco,

12
In Ubuntu, prova view [zipfile].
Samuel Lampa,

4
SBAGLIATO. unzip -l funziona bene per mostrare i file all'interno di un archivio zip, ma meno distribuisce contenuto binario in molti casi e questo è un casino ovviamente.
Arturas M

17
È necessario lesspipeinstallare l' helper per abilitare il supporto per i file zip a un prezzo inferiore. È standard su molti sistemi Linux ma non su OSX, ma è possibile installarlo con brew.
pimlottc,

112

Provare unzip -l files.zip | less

Inoltre, vedi man unzipper altre opzioni


6
Puoi saltare la pipe per lesscomandare. È una grande idea in una grande raccolta di file, però.
omar,

65

Per elencare i contenuti zip:

zipinfo -1 myzipfile.zip

Per un output dettagliato:

zipinfo myzipfile.zip

7
Bella risposta, non è necessario analizzare l'output solo per ottenere i nomi dei file.
Antoine Pelisse,

34

Si prega di utilizzare

vim ZIP_FILE_NAME

per lo stesso. Questo è semplice e facile da ricordare.


5
Bene, questo consente anche di aprire singoli file nell'archivio senza decomprimerlo
user3885927

Abbastanza inaspettato ed estremamente utile! Grazie!
Pierre

In realtà: questo non funzionerà se unzipnon è installato sul sistema. Oltre a ciò, fantastico!
sabato

13

È possibile effettuare la zip apparire come una directory (in cui si usa cd, lse così via) per il montaggio con il fusibile-zip file system virtuale.

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

Un altro file system FUSE rilevante è AVFS . Crea una vista dell'intera gerarchia di directory in cui tutti gli archivi hanno una directory associata (lo stesso nome con #virata alla fine) che sembra contenere il contenuto dell'archivio.

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

Molti gestori di file moderni (ad es. Nautilus, Dolphin) mostrano i contenuti degli archivi in ​​modo trasparente.

AVFS è di sola lettura. Fuse-zip è read-write, ma attenzione che le modifiche vengono scritte nel file zip solo al momento dello smontaggio, quindi non iniziare a leggere l'archivio aspettandosi che venga modificato fino alla fusermount -urestituzione.


Bello, Giles. Grazie. Solo una rapida: è possibile aggiungere file semplicemente inserendo "cp" nella directory?
Dr Beco,

@DrBeco Con fusibile-zip, sì. Con avfs, no.
Gilles,

9

Almeno in Ubuntu, il comando forse più semplice è:

view [zipfile]

Questo aprirà l'elenco dei file nel tuo editor di testo standard (nano, vim ecc.).


2

In realtà unzip -l file.zip | grep "search"o se hai molti file

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

Aggiornamento: modificato da '-p' a '-l' per cercare file.


2

Se sei più orientato alla grafica, Midnight Commander può anche sfogliare i file zip come se fossero normali directory.


1

Una soluzione più completa: vim || emacs

La precedente risposta di @kinORnirvana è la mia preferita per produrre un file con il contenuto di un archivio zip.

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

Tuttavia, consiglio vim o emacs (non nano) se è necessario sfogliare un file di archivio o anche visualizzare il contenuto di un file contenuto al suo interno.

vim archive.zip

Questo approccio funziona anche con altri formati di archivio:

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

Con vim o emacs puoi:

  • sfoglia la struttura delle directory del file di archivio.
  • visualizzare il contenuto di qualsiasi file all'interno del file di archivio.

inserisci qui la descrizione dell'immagine


0

(yaa) Ancora un'altra risposta:

Alias ​​questo comando:

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

e puoi usare vless file.zipper sfruttare vi(o vim) meno script.

(anche buono da sostituire meno, quindi puoi avere i colori)


1
less -R non sostenere i colori ANSI.
Sylvain Leroux,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.