いくつかの画像を.xzアーカイブに圧縮したい。どうすればいいですか?
承認された回答:
tar cJf archive ファイル... Zacharee1とheemaylで詳しく説明されているように、通常はやりたいことがありますが、別の方法は、タールデータを xzにパイプすることです。 コマンド:
tar c files... | xz > archive.tar.xz
Ubuntuのtar以降 Jをサポートします オプション。この代替方法は、オプションを xzに渡したい場合に特に便利です。 。
この例では、高レベルの圧縮( -9 )でいくつかのTIFFファイルをtarおよびxzipします。 xzへ )および詳細出力( v tarへ 、 -v xzへ ):
[email protected]:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
100 % 207.3 KiB / 290.0 KiB = 0.715
もちろん、これは2つの明示的に別々のステップで実行することもできます。
[email protected]:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
[email protected]:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
.tar.xz ですが、これら2つの方法は実際には動作方法が同等ではありません。 最終的に生成されるファイルは同じである必要があります(テストしたときも同じでした)。
- 最初に、
tarの出力 パイプされます(|)xzの入力に 。xztarからデータを受信します ほぼ即座に、中間の非圧縮tarファイルは作成されません。つまり、最初の方法は基本的にtar cJf archiveと同等です。 ファイル...、xzに渡される追加の引数を除く 。 - 2番目のコマンドでは、非圧縮のtarアーカイブが最初のコマンドで作成され、次に
xzで圧縮されます。 2番目のコマンドで。 (xz-kで呼び出されない限り、元のファイルが完了すると自動的に削除されます /-保持コード> 。)
詳細については、RafaelvanHornによるこの投稿とtarを参照してください。 およびxz マンページ。