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?


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


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


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

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.


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.


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


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.


2

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


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í


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)


1
less -R no apoyar colores ANSI.
Sylvain Leroux
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.