howtoは、7-zipコマンドラインツールを使用して.tar.bz2を展開および抽出します


7

7-zipコマンドラインツールで解凍および抽出する.tar.bz2ファイルがあります。

だから基本的に私は同等のものを探しています

tar -xjf foo.tar.bz2

7-zipの場合、抽出にはオプション「x」しかありません。

7z x foo.tar.bz2

tar内のすべてのディレクトリをアンパックする代わりに、膨張したfoo.tarファイルを私に与えます。7zに対応するオプションは何ですか?


tarがよりエレガントに処理できる場合に、7-zipでそれを実行する理由を追加できますか?
bagavadhar 2013年

回答:


3

7zipでは、コマンドを2回実行する必要があります。1回は解凍するため、もう1回は解凍するためです。tarファイル形式は、エンドツーエンドでスタックされたすべての単なる「ワッド」です。次に、例のbzipで、tarファイル全体がさまざまな圧縮アルゴリズムを使用して圧縮されます。基本的に、結果のファイルには2つのレイヤーがあります。bzipレイヤーを「抽出」するとtarファイルが取得され、tarファイルを抽出すると一連の個別ファイルが取得されます。

7zipは一度に複数のレイヤーを処理しませんが、両方のレイヤーを処理できます。

7z x foo.tar.bz2
7z x foo.tar

実際、標準のUNIXツールは同じように機能します。

bunzip2 foo.tar.bz2
tar xf foo.tar

ただし、unix tarコマンドには、tar部分を処理する前/後に別のプログラムを使用して2次圧縮および解凍ステップを呼び出す便利な機能があります。基本的に-j引数はbzip2/を呼び出しbunzip2ますが、2番目のステップは表示されません。同様-zgzip/ gunzipなどを呼び出します



2

標準出力とパイプを使用した7zとtarの組み合わせの短いバージョンはどうですか?

# 7z x -so my-compressed-tarball.tar.bz2| tar xf -

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.