Determinar si un archivo en particular está comprimido

15

¿Cómo saber en Linux si un archivo en particular está comprimido o no usando un comando?

manalisha
fuente
66
Definir "comprimido". ¿Están ogg, mp3, gz, zip, xz, rar, 7z, bz2, archivos ejecutables compactos upx, deb, rpm comprimidos por su definición?
Stéphane Chazelas

Respuestas:

18

Puede intentar usar file, por ejemplo:

$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb  6 14:35:33 2013
Leonid
fuente
¿Funciona esto si el archivo es un enlace simbólico a un archivo comprimido?
bli
@bli no, al menos no en mi Ubuntu aquí.
Leonid
2

Ejecute el filecomando en él. Identificará archivos comprimidos, así como otros formatos de archivo comunes.

Tenga en cuenta que ZIP es un formato contenedor común. Por ejemplo, los archivos EPUB y OpenDocument son en realidad archivos ZIP con contenido específico. Mi versión de filereconoce archivos OpenDocument, pero si el tuyo no lo hace, puede decir que tu archivo OpenDocument es un archivo ZIP. Este puede no ser el resultado que tenía en mente :).

Para ser pedante, probablemente no quiere decir "este archivo está comprimido", como un OpenDocument, o incluso una imagen comprimida como PNG o JPEG. Probablemente quiere decir "¿es este archivo un archivo", como ZIP, unix tar o un archivo de un solo archivo como gzip.

Por lo general, solo mira la extensión del archivo, como en Windows. Como .ZIP significa archivo ZIP, .gz significa gzip. En Linux también es probable que vea .bz2 (bunzip2) y .xz (xz).

sourcejedi
fuente
1

Puede determinar si un archivo parece un formato comprimido ejecutando el filecomando.

file lorem.txt lorem.txt.gz
lorem.txt:    ASCII text
lorem.txt.gz: gzip compressed data, from Unix, last modified: Thu Feb  7 02:10:44 2013, max compression

filesolo dirá "datos" si no reconoce el formato. Además, depende de usted averiguar qué está comprimido o no (por ejemplo, "texto ASCII", "PPM", "audio WAVE" no están comprimidos; "datos comprimidos gzip", "imagen JPEG", "audio Vorbis" están comprimidos) .

Otra forma de detectar si un archivo parece comprimido es intentar comprimirlo. Si no puede reducir significativamente el tamaño, el archivo probablemente esté comprimido o encriptado.

wc -c somefile
gzip <somefile | wc -c
Gilles 'SO- deja de ser malvado'
fuente