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 -

答え2

これが行くべき道です。tar Jxvf file.txz

答え3

開梱は正しい用語ではないかもしれません。あなたはできます解凍するそしてxz解凍するそしてtar

GNU のマニュアルページtar( man tarDebian のデフォルトの GNU tar) では、以下が利用可能であることを指定します。

-I, --use-compress-program PROG
      filter through PROG (must accept -d)

xzこれらのオプションがサポートされているので、次のものを-d使用できます。

tar --use-compress-program xz xvf file.txz 

マニュアルページで明確ではないのは、-xzandが-Jorの略語であることです。--use-compress-program xz-I xz

マニュアルページにまったく指定されていないのは、次のことができることです。

tar xvf file.txz 

GNU tarではtarファイルをxz

関連情報