Saya ingin mengompres beberapa gambar menjadi arsip .xz. Bagaimana aku melakukan itu?
Saya ingin mengompres beberapa gambar menjadi arsip .xz. Bagaimana aku melakukan itu?
Jawaban:
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 lingkungan XZ_OPT
, membuat doa seperti:XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
Gunakan tar
dengan -J
opsi:
tar -cvJf images.tar.xz /directory/containing/images/*
tar
digunakan untuk menggabungkan beberapa file menjadi satu (Arsip) dan kemudian kita perlu mengompres arsip menggunakan algoritma kompresi XZ.
Dari 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
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
.
xz
adalah yang paling lambat di antara xz
, 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.
-cfJ
-
di front..from man tar
: A function letter need not be prefixed with ``-''
..so tar cJf
benar-benar OK.
tar cJf
, yang akan memberi OP cara lain untuk melakukan ini karena jawaban saya sudah dibahas tar --cvJf
pada awalnya ..