
Linuxでコマンドを使用して特定のファイルが圧縮されているかどうかを確認するには?
答え1
たとえば、次のように試すことができます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
答え2
Bashスクリプトから
if (file yourTestFile | grep -q compressed ) ; then
echo "Yes, yourTestFile is compressed"
fi
答え3
それに対してコマンドを実行してくださいfile
。圧縮ファイルだけでなく、他の一般的なファイル形式も認識します。
ZIPは一般的なコンテナ形式です。たとえば、EPUBファイルとOpenDocumentファイルは、実際には特定のコンテンツを含むZIPファイルです。私のバージョンはfile
OpenDocumentファイルを認識しています。ただし、あなたのバージョンがそうでない場合、OpenDocumentファイルはZIPファイルと表示されることがあります。望ましい結果ではないかもしれません:)
科学的に言えば、OpenDocumentやPNGやJPEGで圧縮された画像のように、「このファイルは圧縮されていますか?」という意味ではありません。おそらく「このファイルは、ZIP、unix tar、または単一ファイルのアーカイブ(gzipなど)のようなアーカイブですか?」を意味します。
しかし、通常、Windowsと同様にファイル拡張子をチェックします。 .ZIPがZIPファイルを意味するように、.gzはgzipを意味します。 Linuxでは、.bz2(bunzip2)と.xz(xz)も表示できます。
答え4
次のコマンドを実行して、ファイルが圧縮形式のように見えることを確認できます。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