Ver la lista de archivos en el archivo ZIP en Linux

407

¿Cómo puedo ver la lista de archivos en un archivo ZIP sin descomprimirlo?

danidacar
fuente
¿Es posible hacer lo mismo para un archivo regular de Unix? (tar / gzip / bz2 / etc)
ThorSummoner
tar tvf. si .gz, agrega una z. Para bz2, agregue j. Mucho más, consulte la página de manual.
UtahJarhead

Respuestas:

470

La lessutilidad es capaz de mirar en un ziparchivo. De hecho, si observa las salidas de unzip -l zipfiley less zipfile, encontrará que son idénticas.

ayaz
fuente
98
Tenga en cuenta que less zipfileen MacOS-X muestra el contenido del archivo binario, por lo que ve mucha basura en lugar del contenido del archivo zip. Entonces debe optar por el `` ùnzip -l zipfile```
heiglandreas
10
@ayaz ¿En qué sistema enumera menos archivos zip? Veo comentarios que dicen que no funciona en MAC, Ubuntu, y aquí uso Debian. Debian también muestra basura binaria.
Dr. Beco
12
En Ubuntu, inténtalo view [zipfile].
Samuel Lampa
44
INCORRECTO. descomprimir -l funciona bien para mostrar los archivos dentro de un archivo zip, pero menos da contenido binario en muchos casos y eso es un desastre, por supuesto.
Arturas M
17
Necesita el lesspipeayudante instalado para habilitar el soporte de archivos zip por menos. Es estándar en muchos sistemas Linux, pero no en OSX, pero puede instalarlo con brew.
pimlottc
112

Tratar unzip -l files.zip | less

Además, vea man unzippara más opciones

Ken Ratanachai S.
fuente
66
Puede omitir la tubería para lessordenar. Sin embargo, es una gran idea en una gran colección de archivos.
omar
65

Para enumerar los contenidos zip:

zipinfo -1 myzipfile.zip

Para salida detallada:

zipinfo myzipfile.zip
kinORnirvana
fuente
77
Buena respuesta, no tienes que analizar la salida solo para obtener nombres de archivo.
Antoine Pelisse
34

Por favor use

vim ZIP_FILE_NAME

por lo mismo. Este es uno simple y fácil de recordar.

Rajasekhar Tolety
fuente
55
Agradable, esto también permite abrir archivos individuales en el archivo sin descomprimir
user3885927
¡Muy inesperado y extremadamente útil! ¡Gracias!
Pierre
En realidad: esto no funcionará si unzipno está instalado en el sistema. Además de eso, ¡increíble!
sjas
13

Puede hacer que la postal aparece como un directorio (en el que se utiliza cd, lsetc.) mediante el montaje con el fusible de cremallera sistema de archivos virtual.

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

Otro sistema de archivos FUSE relevante es AVFS . Crea una vista de toda la jerarquía de directorios en la que todos los archivos tienen un directorio asociado (con el mismo nombre #al final) que parece contener el contenido del archivo.

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

Muchos administradores de archivos modernos (por ejemplo, Nautilus, Dolphin) muestran los contenidos del archivo de manera transparente.

AVFS es de solo lectura. Fuse-zip es de lectura y escritura, pero tenga en cuenta que los cambios solo se escriben en el archivo zip en el momento del desmontaje, así que no comience a leer el archivo esperando que se modifique hasta que fusermount -uregrese.

Gilles
fuente
Bien, Giles. Gracias. Solo un poco: ¿se pueden agregar archivos simplemente "cp" al directorio?
Dr. Beco
@DrBeco Con fuse-zip, sí. Con avfs, no.
Gilles
9

Al menos en Ubuntu, el comando posiblemente más fácil es:

view [zipfile]

Esto abrirá la lista de archivos en su editor de texto estándar (nano, vim, etc.).

Samuel Lampa
fuente
2

Es en realidad unzip -l file.zip | grep "search"o si tienes muchos archivos

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

Actualización: Se cambió de '-p' a '-l' para buscar archivos.

Robar
fuente
2

Si tiene una orientación más gráfica, Midnight Commander también puede explorar archivos zip como si fueran directorios normales.

Charles Burge
fuente
1

Una solución más completa: vim || emacs

La respuesta anterior de @kinORnirvana es mi favorita para producir un archivo con el contenido de un archivo zip.

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

Sin embargo, recomiendo vim o emacs (no nano) si necesita examinar un archivo o incluso ver el contenido de un archivo contenido en él.

vim archive.zip

Este enfoque también funciona con otros formatos de archivo:

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

Con vim o emacs puedes:

  • Examine la estructura de directorios del archivo de almacenamiento.
  • ver el contenido de cualquier archivo dentro del archivo comprimido.

ingrese la descripción de la imagen aquí

ePi272314
fuente
0

(yaa) Otra respuesta más:

Alias ​​este comando:

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

y puede usar vless file.zippara aprovechar vi(o vim) menos script.

(También es bueno sustituir menos, para que pueda tener colores)

Dr. Beco
fuente
1
less -R no apoyar colores ANSI.
Sylvain Leroux