Bestimmen Sie, ob eine bestimmte Datei komprimiert ist


15

Wie kann man unter Linux feststellen, ob eine bestimmte Datei mit einem Befehl komprimiert wurde oder nicht?


6
Definieren Sie "komprimiert". Sind ogg-, mp3-, gz-, zip-, xz-, rar-, 7z-, bz2-, upx-komprimierte ausführbare Dateien, deb- und rpm-Dateien nach Ihrer Definition komprimiert?
Stéphane Chazelas

Antworten:


18

Sie können filebeispielsweise Folgendes versuchen :

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

Funktioniert dies, wenn die Datei ein Symlink zu einer komprimierten Datei ist?
Mittwoch,

@bli nein, zumindest nicht auf meinem Ubuntu hier.
Leonid

2

Führen Sie den fileBefehl darauf aus. Es werden komprimierte Dateien sowie andere gängige Dateiformate identifiziert.

Beachten Sie, dass ZIP ein gängiges Containerformat ist. ZB sind EPUB- und OpenDocument-Dateien eigentlich ZIP-Dateien mit spezifischem Inhalt. Meine Version von fileerkennt OpenDocument-Dateien - aber wenn nicht, kann es sein, dass Ihre OpenDocument-Datei eine ZIP-Datei ist. Dies ist möglicherweise nicht das Ergebnis, an das Sie gedacht haben :).

Um pedantisch zu sein, meinen Sie wahrscheinlich nicht "Ist diese Datei komprimiert", wie ein OpenDocument oder sogar ein als PNG oder JPEG komprimiertes Bild. Sie meinen wahrscheinlich "Ist diese Datei ein Archiv", wie z. B. ZIP, Unix Tar oder ein Archiv mit nur einer Datei wie z. B. gzip.

In der Regel wird jedoch nur die Dateierweiterung angezeigt, wie unter Windows. Wie .ZIP bedeutet ZIP-Datei, .gz bedeutet gzip. Unter Linux werden wahrscheinlich auch .bz2 (bunzip2) und .xz (xz) angezeigt.


1

Sie können feststellen, ob eine Datei wie ein komprimiertes Format aussieht, indem Sie den fileBefehl ausführen.

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

filewird nur "data" sagen, wenn es das Format nicht erkennt. Sie müssen auch herausfinden, was komprimiert ist oder nicht (z. B. "ASCII-Text", "PPM", "WAVE-Audio" werden dekomprimiert; "gzip-komprimierte Daten", "JPEG-Bild", "Vorbis-Audio" werden komprimiert). .

Eine andere Möglichkeit, festzustellen, ob eine Datei komprimiert aussieht, besteht darin, sie zu komprimieren. Wenn Sie die Größe nicht wesentlich reduzieren können, ist die Datei wahrscheinlich komprimiert oder verschlüsselt.

wc -c somefile
gzip <somefile | wc -c
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.