"bzip2"を使用してファイルを圧縮する方法

皆さんがLinuxについて知っていることの1つは、さまざまな種類があることです。 数多くのLinuxディストリビューションがあり、数十のデスクトップ環境、複数のオフィススイート、グラフィックパッケージ、オーディオパッケージがあります。

Linuxがさまざまな分野を提供している別の分野は、ファイルを圧縮することです。

Windowsユーザーはすでにzipファイルが何であるかを知っているので、 " zip "および " unzip "コマンドは "zip"形式のファイルを圧縮および解凍するために使用されます。

ファイルを圧縮するもう1つの方法は、 "gzip"コマンドを使用し、 "gz"拡張子を持つファイルを解凍することです。 "gunzip"コマンドを使用できます。

このガイドでは、別の圧縮コマンド "bzip2"を紹介します。

" bzip2"を使用する理由 以上" gzip"

"gzip"コマンドは、LZ77圧縮方式を使用します。 「bzip2」圧縮ツールは「Burrows-Wheeler」アルゴリズムを使用します。

どの方法を使ってファイルを圧縮するべきですか?

このページにアクセスすると、両方の圧縮方法が並んで一致していることがわかります。

このテストでは、デフォルトの圧縮設定を使用して各コマンドが実行され、ファイルサイズを縮小する場合は、「bzip2」コマンドが先頭に表示されます。

しかし、ファイルを圧縮するのにかかる時間を見ると、ファイルを圧縮するのに時間がかかります。

それは "lzmash"というラベルの付いたチャートの第3列を指摘する価値があります。 これは、圧縮レベルを "-9"に設定して "gzip"コマンドを実行したり、英語で "most compressed"を指定するのと同じです。

"lzmash"コマンドはデフォルトで "gzip"コマンドより時間がかかりますが、ファイルはかなり小さくなり、 "bzip2"よりも小さくなります。 それを行うのにかかる時間が短いことに注目する価値があります。

したがって、ファイルをどれくらい圧縮したいのか、それが起こるのをどれくらい待っているのかは、あなたの判断になります。

どちらの場合でも、 "gzip"コマンドはどちらの場合でもわずかに優れています。

" bzip2"を使用したファイルの圧縮

"bzip2"形式を使用してファイルを圧縮するには、次のコマンドを実行します。

bzip2ファイル名

ファイルは圧縮され、拡張子は ".bz2"になります。

結果としてファイルが大きくなっても、 "bzip2"は常にファイルを圧縮します。 これは、すでに圧縮されているファイルを圧縮しているときに発生します。

既存の圧縮ファイルと同じ名前のファイルになるファイルを圧縮しようとすると、エラーが発生します。

たとえば、 "file1"というファイルがあり、そのフォルダに "file1.bz2"というファイルがすでにある場合、 "bzip"コマンドを実行すると、次の出力が表示されます。

bzip2:出力ファイルfile1.bz2は既に存在します

ファイルを解凍する方法

拡張子が「bz2」のファイルを解凍するには、さまざまな方法があります。

次のように "bzip2"コマンドを使用できます:

bzip2 -d filename.bz2

これによりファイルが解凍され、 "bz2"拡張子が削除されます。

ファイルを解凍して同じ名前のファイルを上書きすると、次のエラーが表示されます。

bzip2:出力ファイルfilenameは既に存在します

"bz2"拡張子を持つファイルを解凍するより良い方法は、 "bunzip2"コマンドを使うことです。 このコマンドでは、以下のようにスイッチを指定する必要はありません。

bunzip2 filename.bz2

"bunzip2"コマンドは、 "bzip2"コマンドと同じ方法で、マイナスd(-d)スイッチで実行されます。

"bunzip2"コマンドは、 "bzip"または "bzip2"を使用して圧縮された任意の有効なファイルを抽出できます。 通常のファイルを解凍するだけでなく、 "bzip2"コマンドを使用して圧縮されたtarファイルを解凍することもできます。

デフォルトでは、 "bzip2"コマンドで圧縮されたtarファイルの拡張子は ".tbz2"になります。 "bunzip2"コマンドを使用してこのファイルを解凍すると、ファイル名は "filename.tar"になります。

"bzip2"で圧縮されているが、 "bzip2"とは異なる拡張子を持つ有効なファイルがある場合、そのファイルは解凍されますが、ファイルの最後に ".out"拡張子が追加されます。 たとえば、 "myfile.myf"は "myfile.out"になります。

ファイルを強制的に圧縮する方法

"bz2"拡張子のファイルがすでに存在するかどうかにかかわらず、 "bzip2"コマンドでファイルを圧縮する場合は、次のコマンドを使用できます。

bzip2 -f myfile

"myfile"というファイルと "myfile.bz2"というファイルがある場合、 "myfile"が圧縮されると "myfile.bz2"ファイルが上書きされます。

両方のファイルを保持する方法

圧縮しているファイルと圧縮ファイルを保持したい場合は、次のコマンドを使用できます。

bzip2 -k myfile

これは "myfile"ファイルを保持しますが、圧縮して "myfile.bz2"ファイルを作成します。

また、 "bunzip2"コマンドでminus k(-k)スイッチを使用して、ファイルの解凍中に圧縮ファイルと非圧縮ファイルの両方を保持することもできます。

A" bz2"の妥当性をテストする ファイル

次のコマンドを使用して、ファイルが "bzip2"圧縮メカニズムで圧縮されているかどうかをテストできます。

bzip2 -t filename.bz2

ファイルが有効なファイルである場合、出力は返されませんが、ファイルが有効でない場合は、そのようなメッセージが表示されます。

ファイルを圧縮する際のメモリ使用量を減らす

ファイルを圧縮しているときに "bzip2"コマンドが多すぎるリソースを使用している場合は、次のようにマイナス(-s)スイッチを指定することで影響を減らすことができます。

bzip2 -s filename.bz2

このスイッチを使用してファイルを圧縮するには、時間がかかることに注意してください。

ファイルを圧縮するときの詳細情報の取得

デフォルトでは、 "bzip2"または "bunzip2"コマンドを実行しても出力は得られず、新しいファイルが表示されます。

ファイルを圧縮または解凍するときに何が起こっているのかを知りたければ、次のようにマイナスv(-v)スイッチを指定することでより詳細な出力を得ることができます:

bzip2 -v filename

出力は次のように表示されます。

ファイル名:1.172:1 6.872ビット/バイト14.66%節約42341の50341

重要な部分は、保存されたパーセンテージ、入力サイズ、出力サイズです。

破損したファイルを復元する

壊れた "bz2"ファイルがある場合、データを回復するために使用するプログラムは次のとおりです。

bzip2recover filename.bz2