Determina se un determinato file è compresso


15

Come sapere in Linux se un determinato file è compresso o meno usando un comando?


6
Definire "compresso". Ogg, mp3, gz, zip, xz, rar, 7z, bz2, eseguibili compattati upx, deb, rpm sono compressi secondo la tua definizione?
Stéphane Chazelas,

Risposte:


18

Puoi provare ad usare file, ad esempio:

$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb  6 14:35:33 2013

Funziona se il file è un link simbolico a un file compresso?
bli

@bli no, almeno non sul mio Ubuntu qui.
Leonid,

2

Esegui il filecomando su di esso. Identificherà i file compressi e altri formati di file comuni.

Si noti che ZIP è un formato contenitore comune. Ad esempio, i file EPUB e OpenDocument sono in realtà file ZIP con contenuto specifico. La mia versione di filericonosce i file OpenDocument - ma se la tua non lo fa, si può dire che il tuo file OpenDocument è un file ZIP. Questo potrebbe non essere il risultato che avevi in ​​mente :).

Per essere pedanti, probabilmente non vuoi dire "questo file è compresso", come un OpenDocument, o anche un'immagine compressa come PNG o JPEG. Probabilmente intendi "questo file è un archivio", come ZIP, unix tar o un archivio a file singolo come gzip.

Di solito però, basta guardare l'estensione del file, come su Windows. Come .ZIP significa file ZIP, .gz significa gzip. Su Linux probabilmente vedrai anche .bz2 (bunzip2) e .xz (xz).


1

È possibile determinare se un file sembra un formato compresso eseguendo il 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

filedirà semplicemente "dati" se non riconosce il formato. Inoltre, spetta a te capire cosa è compresso o meno (ad es. "Testo ASCII", "PPM", "WAVE audio" non sono compressi; "gzip compressed data", "JPEG image", "Vorbis audio" sono compressi) .

Un altro modo per rilevare se un file sembra compresso è provare a comprimerlo. Se non puoi ridurre significativamente le dimensioni, il file è probabilmente compresso o crittografato.

wc -c somefile
gzip <somefile | wc -c
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.