かなり大きなファイル(〜50GB)があり、実行に時間がかかります
tar xvf file.tar.bz2
その上。私は、bzip2ファイルの並列圧縮を実行できるプログラムを知っていますが、bzip2ファイルの並列解凍を実行できるプログラムを認識していません。
これを達成できるプログラムはありますか?ファイルから抽出するために使用するコマンドの正確な構文は何ですか?
私はubuntu 12.04を使用しています
Tar -I
オプションを使用して単一コマンドでアーカイブを解凍できます。 -d
オプションをサポートする圧縮ユーティリティを使用できるようになります。
tar -I lbzip2 -xvf <file.tar.bz2>
ターゲットファイルシステムで使用可能な非圧縮サイズを2倍にする必要はありません(tar一時ファイルと出力ファイル)必要に応じて高速ですディスクIOが少ない。
もちろん、圧縮時にも機能します:
tar -I lbzip2 -cvpf <file.tar.bz2> <file>
その他のオプションについては、tar --help
を確認してください。
-d
フラグを指定したpbzip2を使用して「解凍」できます。
マンページから:
pbzip2 -d myfile.tar.bz2
この例では、ファイル「myfile.tar.bz2」を圧縮解除されたファイル「myfile.tar」に解凍します。自動検出されたプロセッサ数(または、自動検出がサポートされていない場合は2つのプロセッサ)を使用します。
解凍後、次のコマンドでファイルを展開する必要があります
tar xf myfile.tar
Tarファイルは単なるコンテナであり、複数の圧縮アルゴリズムを適用できます。たとえば、「。tar.gz」または「.tar.bz2」に異なる圧縮アルゴリズムを適用できます。そのため、pbzip2はアーカイブのみを解凍しますが、ファイルは抽出しません。tar
を使用してファイルを抽出します。アーカイブは既に圧縮解除されており、ファイルを抽出するだけなので、Tarは長くはかからないはずです。 (tarコマンドで 'z'フラグまたは 'j'フラグを使用していないことに注意してください。これらは、ファイルを解凍することも示しています)
lbzip2は、標準の.bz2ファイルの解凍を高速化することができますが、pbzip2はそれを行いません。 (ちょうどそれをテストしました-部分的にロードされたクアッドコアのlbzip2で17秒対pbzip2で56秒)。