Saya ingin mengompres beberapa gambar menjadi arsip .xz. Bagaimana aku melakukan itu?
sumber
Saya ingin mengompres beberapa gambar menjadi arsip .xz. Bagaimana aku melakukan itu?
Meskipun seperti yang dirinci oleh Zacharee1 dan oleh heemayl biasanya adalah apa yang ingin Anda lakukan, cara lain adalah dengan mem - pipkan data tar ke perintah:tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
Karena Ubuntu tar
mendukung J
opsi, cara alternatif ini secara khusus berguna ketika Anda ingin meneruskan opsi xz
.
Dalam contoh ini, saya tar dan xzip beberapa file TIFF dengan tingkat kompresi ( -9
ke xz
) dan verbose tinggi ( v
ke tar
, -v
ke xz
):
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
Ini tentu saja dapat juga dilakukan dalam dua langkah yang terpisah secara eksplisit:
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
Kedua cara itu sebenarnya tidak setara dalam cara mereka beroperasi, meskipun .tar.xz
file yang mereka hasilkan pada akhirnya harus sama (dan dulu, ketika saya mengujinya).
tar
yaitu pipa ( |
) ke masukan dari xz
. xz
menerima data dari tar
segera, dan tidak ada file tar terkompresi menengah yang pernah dibuat. Ini untuk mengatakan bahwa cara pertama pada dasarnya setara dengantar cJf archive files...
, kecuali untuk argumen tambahan yang diteruskan xz
.xz
di perintah kedua. ( xz
secara otomatis menghapus file asli ketika selesai, kecuali dipanggil dengan -k
/ --keep
.)Untuk bacaan lebih lanjut, lihat posting ini oleh Rafael van Horn dan the tar
dan xz
manual.
tar -J
adalah untuk menentukan variabel lingkunganXZ_OPT
, membuat doa seperti:XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
Gunakan
tar
dengan-J
opsi:tar
digunakan untuk menggabungkan beberapa file menjadi satu (Arsip) dan kemudian kita perlu mengompres arsip menggunakan algoritma kompresi XZ.Dari
man tar
:Perhatikan juga bahwa
images.tar.xz
akan dibuat di direktori saat ini, jika Anda ingin menyimpannya gunakan di tempat lain/full/path/to/images.tar.xz
.sumber
xz
adalah yang paling lambat di antaraxz
,gzip
,bzip2
karena rasio kompresi yang lebih tinggi dibandingkan lambatnya others..the layak untuk kesepakatan dengan jika Anda ingin lebih kompresi ..Gunakan perintah ini:
tar cJf <archive.tar.xz> <files>
. Pisahkan jalur file dengan spasi.sumber
-cfJ
-
di front..fromman tar
:A function letter need not be prefixed with ``-''
..sotar cJf
benar-benar OK.tar cJf
, yang akan memberi OP cara lain untuk melakukan ini karena jawaban saya sudah dibahastar --cvJf
pada awalnya ..