いくつかの画像を.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
の入力に 。xz
tar
からデータを受信します ほぼ即座に、中間の非圧縮tarファイルは作成されません。つまり、最初の方法は基本的にtar cJf archiveと同等です。 ファイル...
、xz
に渡される追加の引数を除く 。 - 2番目のコマンドでは、非圧縮のtarアーカイブが最初のコマンドで作成され、次に
xz
で圧縮されます。 2番目のコマンドで。 (xz
-k
で呼び出されない限り、元のファイルが完了すると自動的に削除されます /-保持コード> 。)
詳細については、RafaelvanHornによるこの投稿とtar
を参照してください。 およびxz
マンページ。