lbzip2 - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの 2 つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド lbzipXNUMX です。

プログラム:

NAME


lbzip2-並列bzip2ユーティリティ

SYNOPSIS


lbzip2|bzip2 [-n WTHRS] [-k|-c|-t] [-d] [-1 .. -9] [-f] [-s] [-u] [-v] [-S] [ FILE ... ]

lbunzip2|bunzip2 [-n WTHRS] [-k|-c|-t] [-z] [-f] [-s] [-u] [-v] [-S] [ FILE ... ]

ポンドキャット|bzcat [-n WTHRS] [-z] [-f] [-s] [-u] [-v] [-S] [ FILE ... ]

lbzip2|bzip2|lbunzip2|bunzip2|ポンドキャット|bzcat -h

DESCRIPTION


圧縮または解凍 FILE オペランドまたは通常のファイルへの標準入力または標準出力
Burrows-Wheelerブロックソートテキスト圧縮アルゴリズムを使用します。 NS lbzip2 ユーティリティ
解凍時でも複数のスレッドと入力バウンドスプリッターを採用 。Bz2 ファイル
標準のbzip2で作成されています。

圧縮は一般に、従来の圧縮よりもかなり優れています
LZ77 / LZ78ベースのコンプレッサーであり、最高のPPMファミリーを除くすべてのコンプレッサーと競合します。
統計コンプレッサー。

圧縮ファイルが
オリジナル。 最悪の場合の拡張は、長さがゼロのファイルの場合で、XNUMXに拡張されます。
バイト。 ランダムデータ(ほとんどのファイルコンプレッサーの出力を含む)は、
約0.5%の漸近展開。

コマンドラインオプションは、意図的に非常によく似ています。 bzip2gzip、 だけど
それらは同一ではありません。

呼び出し


デフォルトの動作モードは圧縮です。 ユーティリティが次のように呼び出された場合 lbunzip2 or
bunzip2、モードは解凍に切り替えられます。 ユーティリティを次のように呼び出す ポンドキャット or bzcat
解凍を選択し、解凍されたバイトストリームを標準出力に書き込みます。

OPTIONS


-n WTHRS
(デ)コンプレッサースレッドの数をに設定します WTHRS。 このオプションがない場合
指定、 lbzip2 オンラインプロセッサの数をシステムに照会しようとします(
コンパイル環境と実行環境の両方がそれをサポートします)、または
エラーで終了します(オンラインのプロセッサーの数を判別できない場合)。

-k, - 保つ
削除しないでください FILE (解凍)圧縮が成功した後のオペランド。 通常の入力を開く
複数のリンクを持つファイル。

-c, --stdout
場合でも、出力を標準出力に書き込みます FILE オペランドが存在します。 示す -k
除外します -t.

-t, - テスト
減圧をテストします。 ファイルや標準に書き込む代わりに出力を破棄する
出力。 示す -k 除外します -c。 合格とほぼ同等 -c
標準出力をビットバケットにリダイレクトします。

-d, -解凍
呼び出し名で選択された操作モードで強制的に解凍します。

-z, -圧縮
呼び出し名で選択された操作モードで圧縮を強制します。

-1 .. -9
圧縮ブロックサイズを100K..900Kに100K刻みで設定します。 中に無視されます
減圧。 以下の「ブロックサイズ」セクションも参照してください。

- 速い のエイリアス -1.

- 一番 のエイリアス -9。 これがデフォルトです。

-f, - 力
非正規入力ファイルを開きます。 複数のリンクを含む入力ファイルを開き、壊れます
リンクするとき -k 加えて指定されていません。 前に各出力ファイルを削除してみてください
それを開きます。 デフォルトでは lbzip2 既存のファイルを上書きしません。 これが必要な場合
発生するには、指定する必要があります -f。 場合 -c-d ファイルを拒否しないでください
bzip2形式ではなく、変更せずにコピーするだけです。 それなし -f lbzip2 止まるだろう
bzip2形式ではないファイルに到達した後。

-s, - 小さな
パフォーマンスを犠牲にしてメモリ使用量を削減します。

-u, - 一連
入力ブロックの分割を順番に実行します。 これにより、圧縮率が向上し、
CPU使用率は低下しますが、スケーラビリティは低下します。

-v, -詳細
より冗長になります。 (解凍)圧縮の進行状況に関する詳細情報をに印刷します
標準エラー:各ファイルを処理する前に、次の名前を示すメッセージを出力します。
入力ファイルと出力ファイル。 (解凍)圧縮中に、おおよそのパーセンテージを印刷します
完全性と到着予定時刻(標準エラーがに接続されている場合のみ)
ターミナル); 各ファイルを処理した後、圧縮率を示すメッセージを印刷します。
スペースの節約、合計圧縮時間(壁時間)および平均(解凍)圧縮速度
(XNUMX秒あたりに処理されるプレーンデータのバイト数)。

-S 完了したそれぞれの条件変数統計を標準誤差に出力します
(解凍)圧縮操作。 プロファイリングに役立ちます。

-q, - 静かな, -繰り返し-速い, -繰り返し-最高, -指数関数
との互換性のために受け入れられました bzip2、それ以外の場合は無視されます。

-h, - 助けて
コマンドラインの使用法に関するヘルプを標準出力に出力し、正常に終了します。

-L, - ライセンス, -V, - バージョン
ライセンスとバージョン情報を標準出力に出力し、正常に終了します。

ENVIRONMENT


LBZIP2, bzip2, bzip
コマンドラインを解析する前に、lbzip2はこれらの変数の内容をに挿入します。
呼び出し名とコマンドラインの残りの部分の間で指定された順序。
トークンはスペースとタブで区切られ、エスケープすることはできません。

オペランド


FILE 圧縮または解凍するファイルを指定します。

FILEsの 。Bz2, .tbz, .tbz2.tz2 名前の接尾辞は次の場合にスキップされます
圧縮。 解凍するとき、 。Bz2 出力ファイル名のサフィックスは削除されます。
.tbz, .tbz2.tz2 接尾辞はに置き換えられます 。タール; 他のファイル名は
接尾辞 。アウト。 もし INT or TERM 信号はに配信されます lbzip2、 それから
終了する前に、現在開いている通常の出力ファイルを削除します。

FILEが指定されていない場合、lbzip2はフィルターとして機能し、標準入力を処理します。
標準出力。 この場合、 lbzip2 圧縮出力の書き込みを拒否します
ターミナル(またはターミナルからの圧縮入力の読み取り)、これは完全に
理解できないので無意味です。

EXIT ステータス


0 if lbzip2 正常に終了します。 これは、試行するたびに、 lbzip2 決して
標準エラーへの書き込みに失敗します。

1 if lbzip2 致命的なエラーが発生します。

4 if lbzip2 致命的なエラーが発生することなく警告を発行します。 これは、
それが試みるときはいつでも、 lbzip2 標準エラーへの書き込みに失敗することはありません。

シグパイプ, SIGXFSZ
if lbzip2 ステータスで終了する予定です 1 致命的なエラーが原因ですが、そのような信号はあります
継承された SIG_DFL アクションが生成されました lbzip2 以前、その後 lbzip2
中断された出力をクリーンアップした後、上記の信号のXNUMXつを介して終了します
ファイルにソフトウェアを指定する必要があります。

シガブト
ランタイムアサーションが失敗した場合(つまり lbzip2 それ自体でバグを検出します)。 うまくいけば
あなたのバイナリをコンパイルした人は誰でも十分に大胆ではありませんでした #定義する NDEBUG.

SIGINT, シグターム
lbzip2 これらの信号をキャッチして、中断された出力ファイルを削除できるようにします。 の
そのような場合、 lbzip2 受信信号(のXNUMXつ)を再発生させることによって終了します。

BLOCK サイズ


lbzip2 大きなファイルをブロックに圧縮します。 さまざまなブロックサイズで動作できます。
100kステップで900kから100kまで、必要なだけのメモリを割り当てます。 NS
ブロックサイズは、達成される圧縮率と必要なメモリ量の両方に影響します
圧縮と解凍の両方。 圧縮と解凍の速度は事実上
処理中のファイルが十分に大きい場合は、ブロックサイズの影響を受けません。
すべてのワーカースレッド間で分割します。

フラグ -1   -9 ブロックサイズを100,000バイトから900,000バイトに指定します
(デフォルト)それぞれ。 解凍時、圧縮に使用されるブロックサイズは次のとおりです。
圧縮ファイルから読み取る-フラグ -1 〜へ -9 無関係であるため無視されます
減圧中。

ブロックサイズが大きくなると、限界収穫逓減が急速に減少します。 ほとんどの圧縮
ブロックサイズの最初のXNUMXまたはXNUMXkに由来します。これは、覚えておく価値のある事実です。
使用している場合 lbzip2 小さなマシンで。 また、
解凍メモリの要件は、ブロックサイズの選択によって圧縮時に設定されます。
一般に、メモリ制約が許す最大のブロックサイズを試して使用する必要があります。

もうXNUMXつの重要な点は、小さなファイルにも当てはまります。 設計上、XNUMXつだけ lbzip2の労働者
スレッドは単一のブロックで機能します。 これは、ブロックの数が
圧縮ファイルがオンラインのプロセッサの数より少ない場合、一部のワーカースレッド
ずっとアイドル状態のままになります。 小さいブロックサイズの小さいファイルを圧縮すると、
したがって、圧縮と解凍の両方の速度が大幅に向上します。 スピード
CPUコアの数が増えると、違いはより顕著になります。

ERROR 取り扱い


エラー状態に対処することは、 lbzip2。 ポリシーは
ファイルシステムを一貫性のある状態のままにして、それが意味しない場合でも終了します
コマンドラインに記載されているファイルの一部を処理します。

「一貫性のある状態」とは、ファイルが圧縮または非圧縮のいずれかに存在することを意味します
フォームですが、両方ではありません。 これは、「エラーが発生した場合に出力ファイルを削除する」というルールに要約されます。
条件が発生し、入力はそのままになります。 入力ファイルは、次のことができる場合にのみ削除されます
出力ファイルが正常に書き込まれ、閉じられたことを確認してください。

リソース 割り当て


lbzip2 動作するには、さまざまな種類のシステムリソースが必要です。 それらには、メモリ、スレッド、
ミューテックスと条件変数。 ポリシーは、リソースの割り当てがあれば単にあきらめることです
障害が発生します。

リソース消費は、ワーカースレッドの数に比例して増加します。 もしも lbzip2 失敗する理由
一部のリソースが不足している場合は、ワーカースレッドの数を減らすと役立つ場合があります。 それはそのようになります
可能な lbzip2 ワーカースレッドの数を減らすことを試みる(したがって、リソース
消費)、または一部の人がより少ない必要があるかもしれないことを期待して後続のファイルに移動する
リソースですが、これを行うための複雑さは、価値があるよりも厄介なようです。

損傷した ファイル


lbzip2 データに対していくつかの重要な変換を実行することにより、データを圧縮しようとします。
ファイルのすべての圧縮は、圧縮されたファイルが
オリジナルを再現するために解凍しました。 設計、コーディング、およびテストにおける多大な努力により、
このプログラムが正しく動作することを保証するために作られました。 ただし、
アルゴリズム、特に、コード内のさまざまな特殊なケースの存在
非常に低い確率で発生しますが、ゼロ以外の確率では、
プログラムにバグが残っている可能性があります。 それはこのプログラムが
本質的に信頼できない。 確かに、私はその反対が真実であることを非常に望んでいます- lbzip2 されています
慎重に構築され、広範囲にわたってテストされています。

あなたの保護のためのセルフチェックとして、 lbzip2 32ビットCRCを使用して、
解凍されたバージョンのファイルは、元のファイルと同じです。 これは
圧縮されたデータの破損、および未発見のバグに対する lbzip2 (うまくいけば
ありそうもない)。 データ破損が検出されなくなる可能性はごくわずかで、約XNUMXつです。
処理されるファイルごとにXNUMX億のチャンス。 ただし、チェックが行われることに注意してください
減圧すると、何かがおかしいとしか言​​えません。

CRCは破損したファイルのみを検出でき、元のファイルを復元するのに役立ちません。
非圧縮データ。 ただし、圧縮アルゴリズムのブロックの性質により、
一部のブロックが
破壊されました。

onworks.net サービスを使用してオンラインで lbzip2 を使用する



最新のLinuxおよびWindowsオンラインプログラム