特定のファイルが圧縮されているかどうかを判断する


15

Linuxでコマンドを使用して特定のファイルが圧縮されているかどうかを知る方法は?


6
「圧縮」を定義します。ogg、mp3、gz、zip、xz、rar、7z、bz2、upx圧縮実行可能ファイル、deb、rpmファイルは定義により圧縮されていますか?
ステファンシャゼル

回答:


18

fileたとえば、を使用してみてください。

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

ファイルが圧縮ファイルへのシンボリックリンクである場合、これは機能しますか?
ブリ

@bliいいえ、少なくともここの私のUbuntuではそうではありません。
レオニード

2

fileコマンドを実行します。他の一般的なファイル形式と同様に、圧縮ファイルを識別します。

ZIPは一般的なコンテナ形式であることに注意してください。たとえば、EPUBおよびOpenDocumentファイルは、実際には特定のコンテンツを含むZIPファイルです。私のバージョンはfileOpenDocumentファイルを認識します-しかし、あなたのOpenDocumentファイルが認識しない場合、OpenDocumentファイルはZIPファイルであると言うことがあります。これはあなたが念頭に置いていた結果ではないかもしれません:)。

独創的であるためには、おそらくOpenDocumentのように「このファイルが圧縮されている」という意味ではなく、PNGまたはJPEGとして圧縮された画像でさえありません。おそらく、ZIP、unix tar、gzipなどの単一ファイルアーカイブのような「このファイルはアーカイブですか」という意味でしょう。

ただし、通常は、Windowsのようにファイル拡張子を見るだけです。.ZIPがZIPファイルを意味するように、.gzはgzipを意味します。Linuxでは、.bz2(bunzip2)および.xz(xz)も表示される可能性があります。


1

fileコマンドを実行することにより、ファイルが圧縮形式のように見えるかどうかを判断できます。

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

fileフォーマットを認識しない場合、単に「データ」と言います。また、圧縮されているかどうかを判断するのはあなた次第です(たとえば、「ASCIIテキスト」、「PPM」、「WAVEオーディオ」は非圧縮、「gzip圧縮データ」、「JPEGイメージ」、「Vorbisオーディオ」は圧縮されます) 。

ファイルが圧縮されているように見えるかどうかを検出する別の方法は、圧縮を試みることです。サイズを大幅に削減できない場合、ファイルはおそらく圧縮または暗号化されています。

wc -c somefile
gzip <somefile | wc -c
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.