回答:
けれどもとしてZacharee1により詳細に説明し、heemaylであなたがしたいと思うものを、通常は、別の方法は、パイプににデータをtar形式でコマンドを実行します。tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
Ubuntu tar
はJ
オプションをサポートしているため、この代替方法はオプションをに渡したい場合に特に便利ですxz
。
この例では、高レベルの圧縮(-9
to xz
)と詳細出力(v
to tar
、-v
to xz
)を使用して、いくつかのTIFFファイルをtarおよびxzipしています。
ek@Io:~/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つの明示的に異なるステップで行うこともできます。
ek@Io:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
ek@Io:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
これらの2つの方法は実際には動作が同じではありませんが.tar.xz
、最終的に生成されるファイルは同じであるはずです(私がテストしたときも同じでした)。
tar
ISは、パイプ(|
へ)を入力しますxz
。xz
はtar
ほぼ即座にデータを受信し、中間の非圧縮tarファイルは作成されません。つまり、最初の方法は、に渡される追加の引数を除いてtar cJf archive files...
、本質的にと同じxz
です。xz
2番目のコマンドで圧縮されます。(/でxz
呼び出されない限り、完了時に元のファイルが自動的に削除されます。)-k
--keep
さらに読書については、ラファエル・ファン・ホーンによってこのポストをし、tar
そしてxz
manページ。
tar -J
環境変数を指定することですXZ_OPT
:のような呼び出し何かを作るXZ_OPT="-9v" tar -Jcf out.tar.xz [files]
使用tar
して-J
オプション:
tar -cvJf images.tar.xz /directory/containing/images/*
tar
複数のファイルを1つ(アーカイブ)に結合するために使用され、XZ圧縮アルゴリズムを使用してアーカイブを圧縮する必要があります。
からman tar
:
-c, --create
create a new archive
-v, --verbose
verbosely list files processed
-J, --xz
-f, --file ARCHIVE
use archive file or device ARCHIVE
またimages.tar.xz
、現在のディレクトリに作成されることに注意してください/full/path/to/images.tar.xz
。他の場所に保存したい場合は、を使用してください。
xz
中で最も遅くxz
、gzip
、bzip2
... others..the遅あなたはより多くの圧縮をしたい場合に対処するための価値があるよりも、その高い圧縮比のために
次のコマンドを使用しますtar cJf <archive.tar.xz> <files>
。ファイルパスはスペースで区切ります。
-cfJ
-
..from man tar
:A function letter need not be prefixed with ``-''
..so tar cJf
は問題ありません。
tar cJf
私の答えは既にカバーされて、それがOPにこれを行うための別の方法を与えるtar --cvJf
最初の..で