あなたのフォルダを見渡し、拡張子が ".gz"のファイルを見つけると、 "gzip"コマンドを使って圧縮されていることを意味します。
"gzip"コマンドは、Lempel-Ziv(ZZ77)圧縮アルゴリズムを使用して、文書、画像、オーディオトラックなどのファイルのサイズを縮小します。
もちろん、 "gzip"を使ってファイルを圧縮した後は、ある段階でそのファイルを再度解凍することになります。
このガイドでは、 "gzip"コマンドを使用して圧縮されたファイルを解凍する方法を説明します。
" gzip"を使用してファイルを解凍する コマンド
"gzip"コマンド自体は、 ".gz"拡張子を持つファイルの解凍方法を提供します。
ファイルを解凍するには、次のようにマイナスd(-d)スイッチを使用する必要があります。
gzip -d myfilename.gz
ファイルは解凍され、 ".gz"拡張子は削除されます。
" gunzip"を使用してファイルを解凍する コマンド
"gzip"コマンドは完全に有効ですが、次の例のように "gunzip"を使用してファイルを解凍するだけで簡単に覚えやすくなります:
gunzip myfilename.gz
圧縮解除するファイルを強制する
場合によっては、 "gunzip"コマンドにファイルの解凍に関する問題があります。
"gunzip"がファイルの解凍を拒否する一般的な理由は、解凍後に残されるファイル名がすでに存在するファイル名と同じであるためです。
たとえば、 "document1.doc.gz"というファイルがあり、 "gunzip"コマンドを使用して解凍するとします。 今度は、同じフォルダに "document1.doc"というファイルもあるとします。
次のコマンドを実行すると、ファイルがすでに存在することを示すメッセージが表示され、アクションの確認を求めるメッセージが表示されます。
gunzip document1.doc.gz
もちろん、既存のファイルが上書きされることを受け入れるために「Y」を入力することもできます。 ただし、スクリプトの一部として "gunzip"を実装している場合は、スクリプトの実行を停止し、入力が必要なため、メッセージをユーザーに表示したくない場合があります。
次の構文を使用して、 "gunzip"コマンドで強制的にファイルの圧縮を解除することができます。
gunzip -f document1.doc.gz
これは同じ名前の既存のファイルを上書きしますが、そうしている間はプロンプトが表示されません。 したがって、マイナスf(-f)スイッチを注意深く使用するようにしてください。
圧縮されたファイルと解凍されたファイルの両方を保持する方法
デフォルトでは、 "gunzip"コマンドはファイルの解凍を行い、拡張子は削除されます。 したがって、 "myfile.gz"というファイルは "myfile"と呼ばれ、フルサイズに拡張されます。
ファイルを解凍するだけでなく、圧縮ファイルのコピーを保持したい場合もあります。
これを実現するには、次のコマンドを実行します。
gunzip -k myfile.gz
これで "myfile"と "myfile.gz"が残されます。
圧縮出力の表示
圧縮されたファイルがテキストファイルの場合は、最初に解凍することなくテキストを表示できます。
これを行うには、次のコマンドを使用します。
gunzip -c myfile.gz
上記のコマンドは、myfile.gzの内容を端末出力に表示します。
圧縮ファイルについての情報を表示する
次のように、 "gunzip"コマンドを使用して、圧縮ファイルに関する詳細を知ることができます。
gunzip -l myfile.gz
上記のコマンドの出力には、次の値が表示されます。
- 圧縮されたサイズ
- 非圧縮サイズ
- 比
- 非圧縮ファイル名
このコマンドの最も有用な側面は、大きなファイルやディスク容量が少ないドライブを扱う場合です。
10ギガバイトのドライブがあり、圧縮ファイルが8ギガバイトであるとします。 "gunzip"コマンドを盲目的に実行すると、圧縮されていないサイズが15ギガバイトであるためコマンドが失敗することがあります。
「gunzip」コマンドをマイナスl(-l)スイッチで実行すると、ファイルを解凍するディスクに十分なスペースがあることを確認できます 。 また、ファイルの解凍時に使用されるファイル名も表示されます。
多くのファイルを再帰的に解凍する
フォルダ内のすべてのファイルとその下にあるすべてのフォルダ内のすべてのファイルを解凍する場合は、次のコマンドを使用できます。
gunzip -r foldername
たとえば、次のフォルダ構造とファイルがあるとします。
- ドキュメント
- mydoc.gz
- mydoc1.gz
- アカウント
- spreadsheet1.gz
- spreadsheet2.gz
次のコマンドを実行して、すべてのファイルの解凍を行うことができます。
gunzip -rドキュメント
圧縮ファイルが有効かどうかのテスト
次のコマンドを実行して、ファイルが "gzip"を使用して圧縮されているかどうかをテストできます。
gunzip -t filename.gz
ファイルが無効な場合は、メッセージが表示されます。そうでない場合は、メッセージなしで入力に戻ります。
あなたがファイルを解凍したときに何が起こったか
デフォルトでは、 "gunzip"コマンドを実行すると、 "gz"拡張子のない圧縮解除されたファイルが残されます。
詳細については、マイナスv(-v)スイッチを使用して冗長な情報を表示することができます。
gunzip -v filename.gz
出力は次のようになります。
filename.gz:20% - ファイル名に置き換えられました
これは元の圧縮ファイル名、圧縮解除された量、最終ファイル名を示しています。