1つのコマンドで.txzと.tarアーカイブを解凍する

1つのコマンドで.txzと.tarアーカイブを解凍する

*.txzで圧縮されたファイルがあります。解凍後*.tarファイルを受け取りました。 1つのコマンドで2回解凍する方法はありますか? (*.tar).txzファイルを解凍するために1つのコマンドを使用することを意味しますか?

私がする方法は次のとおりです。

xz -d file.txz
tar xvf file.tar

しかし、もっと良い方法があるかどうか疑問に思います。

ベストアンサー1

xz -d < file.tar.xz | tar xvf -

これは圧縮アーカイブと同じです。あなたはする必要がありますいいえ元のファイルの圧縮されていないコピーを作成する必要があります。

いくつかのtar実装(たとえば、最新バージョンのGNU)には、tarユーザーが直接呼び出すことができる組み込みオプションがあります。xz

GNUを使用するtarか、次のようにしますbsdtar

tar Jxvf file.tar.xz

ただし、お客様のバージョンに該当するファイルがある場合、ファイルを自動的に検出する-J可能性が高くなります。したがって、次のようになります。xz

tar xvf file.tar.xz

十分でしょう。

GNUまたはBSDがtar古すぎて特にサポートされていない場合は、xz次の--use-compress-programオプションがあります。

tar --use-compress-program=xz -xvf file.tar.gz

コンプレッサーユーティリティ呼び出しの利点の1つtarは、シャットダウン状態で障害を報告する機能です。

注:tar.xzを使用してアーカイブを作成したpixz場合は、アーカイブ全体を解凍せずにファイルを個別に抽出できるようにインデックスが付けられている可能性がpixzあります。tar

pixz -x path/to/file/in/archive < file.tar.xz | tar xvf -

おすすめ記事