Birkaç resmi bir .xz arşivine sıkıştırmak istiyorum. Bunu nasıl yaparım?
Birkaç resmi bir .xz arşivine sıkıştırmak istiyorum. Bunu nasıl yaparım?
Yanıtlar:
Her ne kadar olarak Zacharee1 tarafından ayrıntılı ve heemayl tarafından Yapmanız isteyeceğiniz şey genellikle, başka bir şekilde tekrar boru tarred verilere olduğunu komutu:tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
Ubuntu'nun seçeneği tar
desteklediği için J
, bu alternatif yol, seçenekleri aktarmak istediğinizde özellikle yararlıdır xz
.
Bu örnekte, yüksek düzeyde sıkıştırma ( -9
to xz
) ve ayrıntılı çıktı ( v
to tar
, -v
to xz
) ile bazı TIFF dosyalarını tar ve 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
Bu, elbette, açıkça iki ayrı adımda da yapılabilir:
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
.tar.xz
Sonunda ürettikleri dosyalar aynı olmalı (ve test ettiğimde) olsa da, bu iki yol aslında nasıl çalıştıklarına eşdeğer değil .
tar
IS borulu ( |
kadar) girişi arasında xz
. xz
verileri tar
hemen alır ve sıkıştırılmamış bir ara kat dosyası oluşturulmaz. Bu, iletilen ek argümanlar haricinde , ilk yolun esasen eşdeğer olduğu anlamınatar cJf archive files...
gelir xz
.xz
ikinci komutta sıkıştırılır . ( / xz
ile çağrılmadığı sürece, orijinal dosyayı tamamlandığında otomatik olarak siler .)-k
--keep
Daha fazla okumak için Rafael van Horn ve tar
ve xz
manpages'in bu yazısına bakın.
tar -J
da ortam değişkenini belirtmek XZ_OPT
ve çağrıyı şöyle bir şey XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
Kullanım tar
ile -J
seçeneği:
tar -cvJf images.tar.xz /directory/containing/images/*
tar
birden çok dosyayı tek bir dosyada (Arşiv) birleştirmek için kullanılır ve sonra XZ sıkıştırma algoritmasını kullanarak arşivi sıkıştırmamız gerekir.
Gönderen 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
Ayrıca images.tar.xz
başka bir yere kaydetmek istiyorsanız, geçerli dizinde oluşturulacağını unutmayın /full/path/to/images.tar.xz
.
xz
arasındaki en yavaş olduğu xz
, gzip
, bzip2
daha sıkıştırmayı isterseniz ile bağlı others..the yavaşlık daha da yüksek sıkıştırma oranına anlaşmaya değer ..
Bu komutu kullanın: tar cJf <archive.tar.xz> <files>
. Dosya yollarını boşlukla ayırın.
-cfJ
-
from man tar
: A function letter need not be prefixed with ``-''
.. tar cJf
kesinlikle sorun yok.
tar cJf
, bu tar --cvJf