InggrisPerancisSpanyol

Ad


favorit OnWorks

xzcat - Daring di Awan

Jalankan xzcat di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah xzcat yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


xz, unxz, xzcat, lzma, unlzma, lzcat - Kompres atau dekompresi file .xz dan .lzma

RINGKASAN


xz [Option]...[fillet] ...

unxz adalah setara dengan xz --dekompresi.
xzcat adalah setara dengan xz --dekompresi --stdout.
lzma adalah setara dengan xz --format=lzma.
unlzma adalah setara dengan xz --format=lzma --dekompresi.
lzcat adalah setara dengan xz --format=lzma --dekompresi --stdout.

Saat menulis skrip yang perlu mendekompresi file, disarankan untuk selalu menggunakan
nama xz dengan argumen yang sesuai (xz -d or xz -dc) alih-alih nama unxz dan xzcat.

DESKRIPSI


xz adalah alat kompresi data tujuan umum dengan sintaks baris perintah yang mirip dengan gzip(1)
dan bzip2(1). Format file asli adalah .xz format, tetapi warisan .lzma format yang digunakan
oleh LZMA Utils dan aliran terkompresi mentah tanpa header format wadah juga
didukung.

xz kompres atau dekompresi masing-masing fillet sesuai dengan mode operasi yang dipilih. Jika tidak
arsip diberikan atau fillet is -, xz membaca dari input standar dan menulis data yang diproses
ke keluaran standar. xz akan menolak (tampilkan kesalahan dan lewati fillet) untuk menulis
data terkompresi ke output standar jika itu adalah terminal. Demikian pula, xz akan menolak untuk membaca
data terkompresi dari input standar jika itu adalah terminal.

Kecuali kalau --stdout ditentukan, arsip selain - ditulis ke file baru yang namanya
berasal dari sumber fillet Nama:

· Saat mengompresi, akhiran format file target (.xz or .lzma) ditambahkan ke
nama file sumber untuk mendapatkan nama file target.

· Saat dekompresi, .xz or .lzma akhiran dihapus dari nama file untuk mendapatkan
nama file sasaran. xz juga mengenali sufiks .txz dan .tlz, dan menggantinya dengan
itu .ter akhiran.

Jika file target sudah ada, kesalahan ditampilkan dan fillet dilewati.

Kecuali menulis ke output standar, xz akan menampilkan peringatan dan lewati fillet jika ada
berikut ini berlaku:

· File bukan file biasa. Tautan simbolis tidak diikuti, dan karenanya tidak
dianggap sebagai file biasa.

· File memiliki lebih dari satu hard link.

· File memiliki setuid, setgid, atau sticky bit set.

· Mode operasi diatur ke kompres dan fillet sudah memiliki akhiran target
format berkas (.xz or .txz saat mengompres ke .xz format, dan .lzma or .tlz ketika
mengompresi ke .lzma format).

· Mode operasi diatur ke dekompresi dan fillet tidak memiliki akhiran dari
format file yang didukung (.xz, .txz, .lzma, atau .tlz).

Setelah berhasil mengompresi atau mendekompresi fillet, xz menyalin pemilik, grup,
izin, waktu akses, dan waktu modifikasi dari sumbernya fillet ke berkas tujuan.
Jika penyalinan grup gagal, izin diubah sehingga file target tidak
menjadi dapat diakses oleh pengguna yang tidak memiliki izin untuk mengakses sumbernya fillet. xz
tidak mendukung penyalinan metadata lain seperti daftar kontrol akses atau atribut yang diperluas
belum.

Setelah file target berhasil ditutup, sumbernya fillet dihapus kecuali
--menyimpan telah ditentukan. Sumber fillet tidak pernah dihapus jika output ditulis ke
keluaran standar.

mengirim SIGNFO or SIGUSR1 ke xz proses membuatnya mencetak informasi kemajuan ke
kesalahan standar. Ini hanya memiliki penggunaan terbatas karena ketika kesalahan standar adalah terminal, menggunakan
--bertele-tele akan menampilkan indikator kemajuan yang diperbarui secara otomatis.

Memori pemakaian
Penggunaan memori dari xz bervariasi dari beberapa ratus kilobyte hingga beberapa gigabyte tergantung
pada pengaturan kompresi. Pengaturan yang digunakan saat mengompresi file menentukan
kebutuhan memori dekompresor. Biasanya dekompresor membutuhkan 5% hingga 20% dari
jumlah memori yang dibutuhkan kompresor saat membuat file. Sebagai contoh,
mendekompresi file yang dibuat dengan xz -9 saat ini membutuhkan 65 MiB memori. Tetap saja, itu
mungkin untuk memiliki .xz file yang membutuhkan beberapa gigabyte memori untuk dekompresi.

Khususnya pengguna sistem lama mungkin menemukan kemungkinan penggunaan memori yang sangat besar
mengganggu. Untuk mencegah kejutan yang tidak menyenangkan, xz memiliki pembatas penggunaan memori bawaan,
yang dinonaktifkan secara default. Sementara beberapa sistem operasi menyediakan cara untuk membatasi
penggunaan memori proses, mengandalkannya tidak dianggap cukup fleksibel (mis
batas(1) untuk membatasi memori virtual cenderung melumpuhkan mmap(2)).

Pembatas penggunaan memori dapat diaktifkan dengan opsi baris perintah --membatas=membatasi.
Seringkali lebih mudah untuk mengaktifkan pembatas secara default dengan mengatur lingkungan
variabel XZ_DEFAULT, misalnya XZ_DEFAULTS=--memlimit=150MiB. Hal ini dimungkinkan untuk mengatur
batas secara terpisah untuk kompresi dan dekompresi dengan menggunakan --memlimit-kompres=membatasi dan
--memlimit-dekompresi=membatasi. Menggunakan dua opsi ini di luar XZ_DEFAULT jarang berguna
karena sekali lari xz tidak dapat melakukan kompresi dan dekompresi dan
--membatas=membatasi (Atau -M membatasi) lebih pendek untuk diketik di baris perintah.

Jika batas penggunaan memori yang ditentukan terlampaui saat dekompresi, xz akan menampilkan
kesalahan dan dekompresi file akan gagal. Jika batas terlampaui saat mengompresi, xz
akan mencoba memperkecil pengaturan sehingga batas tidak lagi terlampaui (kecuali ketika
menggunakan --format=mentah or --tidak-menyesuaikan). Dengan cara ini operasi tidak akan gagal kecuali batasnya adalah
sangat kecil. Penskalaan pengaturan dilakukan dalam langkah-langkah yang tidak sesuai dengan kompresi
preset level, misalnya jika batasnya hanya sedikit kurang dari jumlah yang diperlukan untuk xz -9,
pengaturan akan diperkecil hanya sedikit, tidak sampai ke xz -8.

Rangkaian dan lapisan dengan .xz arsip
Dimungkinkan untuk digabungkan .xz file apa adanya. xz akan mendekompresi file seperti itu seolah-olah mereka
adalah seorang lajang .xz file.

Dimungkinkan untuk memasukkan bantalan di antara bagian-bagian yang digabungkan atau setelah bagian terakhir.
Padding harus terdiri dari null byte dan ukuran padding harus kelipatan
empat byte. Ini bisa berguna misalnya jika .xz file disimpan pada media yang mengukur
ukuran file dalam blok 512-byte.

Penggabungan dan padding tidak diperbolehkan dengan .lzma file atau aliran mentah.

PILIHAN


Bilangan bulat sufiks dan khusus nilai-nilai
Di sebagian besar tempat di mana argumen integer diharapkan, sufiks opsional didukung untuk
dengan mudah menunjukkan bilangan bulat besar. Tidak boleh ada spasi antara bilangan bulat dan
akhiran.

KiB Kalikan bilangan bulat dengan 1,024 (2^10). Ki, k, kB, K, dan KB diterima sebagai
sinonim untuk KiB.

eb Kalikan bilangan bulat dengan 1,048,576 (2^20). Mi, m, M, dan MB diterima sebagai
sinonim untuk eb.

GiB Kalikan bilangan bulat dengan 1,073,741,824 (2^30). Gi, g, G, dan GB diterima sebagai
sinonim untuk GiB.

Nilai khusus max dapat digunakan untuk menunjukkan nilai integer maksimum yang didukung oleh
.

Operasi mode
Jika beberapa opsi mode operasi diberikan, yang terakhir akan berlaku.

-z, --kompres
Kompres. Ini adalah mode operasi default ketika tidak ada opsi mode operasi
ditentukan dan tidak ada mode operasi lain yang tersirat dari nama perintah (untuk
contoh, unxz menyiratkan --dekompresi).

-d, --dekompresi, --tidak terkompresi
Dekompresi.

-t, --tes
Uji integritas kompresi arsip. Opsi ini setara dengan --dekompresi
--stdout kecuali bahwa data yang didekompresi dibuang alih-alih ditulis ke
keluaran standar. Tidak ada file yang dibuat atau dihapus.

-l, --Daftar
Cetak informasi tentang terkompresi arsip. Tidak ada output terkompresi yang dihasilkan, dan
tidak ada file yang dibuat atau dihapus. Dalam mode daftar, program tidak dapat membaca
data terkompresi dari input standar atau dari sumber lain yang tidak dapat dicari.

Daftar default menunjukkan informasi dasar tentang arsip, satu file per baris. Mendapatkan
informasi lebih rinci, gunakan juga --bertele-tele pilihan. Untuk lebih banyak lagi
informasi, gunakan --bertele-tele dua kali, tetapi perhatikan bahwa ini mungkin lambat, karena mendapatkan
semua informasi tambahan membutuhkan banyak pencarian. Lebar keluaran verbose melebihi
80 karakter, jadi perpipaan output ke mis kurang -S mungkin nyaman jika
terminal tidak cukup lebar.

Output yang tepat dapat bervariasi antara xz versi dan lokal yang berbeda. Untuk mesin-
keluaran yang dapat dibaca, --robot --Daftar seharusnya digunakan.

Operasi pengubah
-k, --menyimpan
Jangan hapus file input.

-f, --memaksa
Opsi ini memiliki beberapa efek:

· Jika file target sudah ada, hapus sebelum mengompresi atau
dekompresi.

· Kompres atau dekompresi bahkan jika inputnya adalah tautan simbolis ke file biasa,
memiliki lebih dari satu hard link, atau memiliki setuid, setgid, atau sticky bit. NS
bit setuid, setgid, dan sticky tidak disalin ke file target.

· Saat digunakan dengan --dekompresi --stdout dan xz tidak dapat mengenali jenis
file sumber, salin file sumber apa adanya ke output standar. Ini memungkinkan xzcat
--memaksa untuk digunakan seperti kucing(1) untuk file yang belum dikompresi dengan xz.
Perhatikan bahwa di masa depan, xz mungkin mendukung format file terkompresi baru, yang mungkin
membuat xz dekompresi lebih banyak jenis file daripada menyalinnya seperti standar
output. --format=format dapat digunakan untuk membatasi xz untuk mendekompresi hanya satu
format file.

-c, --stdout, --ke-stdout
Tulis data terkompresi atau dekompresi ke output standar alih-alih file.
Ini menyiratkan --menyimpan.

--aliran tunggal
Dekompresi hanya yang pertama .xz streaming, dan abaikan secara diam-diam kemungkinan masukan yang tersisa
data mengikuti arus. Biasanya sampah yang tertinggal seperti itu membuat xz tampilkan dan
kesalahan.

xz tidak pernah mendekompresi lebih dari satu aliran dari .lzma file atau aliran mentah, tapi
opsi ini masih membuat xz abaikan kemungkinan data tambahan setelah .lzma fillet
atau aliran mentah.

Opsi ini tidak berpengaruh jika mode operasi tidak --dekompresi or --tes.

--tidak jarang
Nonaktifkan pembuatan file jarang. Secara default, jika didekompresi menjadi reguler
file, xz mencoba membuat file menjadi jarang jika data yang didekompresi berisi panjang
urutan nol biner. Ini juga berfungsi saat menulis ke output standar selama
sebagai output standar terhubung ke file biasa dan kondisi tambahan tertentu
terpenuhi untuk membuatnya aman. Membuat file yang jarang dapat menghemat ruang disk dan mempercepat
dekompresi dengan mengurangi jumlah disk I/O.

-S .suf, --akhiran=.suf
Saat mengompresi, gunakan .suf sebagai akhiran untuk file target, bukan .xz or
.lzma. Jika tidak menulis ke output standar dan file sumber sudah memiliki
akhiran .suf, peringatan ditampilkan dan file dilewati.

Saat mendekompresi, kenali file dengan akhiran .suf selain file dengan
itu .xz, .txz, .lzma, atau .tlz akhiran. Jika file sumber memiliki akhiran .suf, yang
akhiran dihapus untuk mendapatkan nama file target.

Saat mengompresi atau mendekompresi aliran mentah (--format=mentah), akhiran must
selalu ditentukan kecuali menulis ke output standar, karena tidak ada default
akhiran untuk aliran mentah.

--file[=fillet]
Baca nama file untuk diproses dari fillet; jika fillet dihilangkan, nama file dibaca
dari masukan standar. Nama file harus diakhiri dengan karakter baris baru. A
berlari (-) diambil sebagai nama file biasa; itu tidak berarti input standar. Jika
nama file diberikan juga sebagai argumen baris perintah, mereka diproses sebelum
nama file dibaca dari fillet.

--file0[=fillet]
Ini identik dengan --file[=fillet] kecuali bahwa setiap nama file harus diakhiri
dengan karakter nol.

Dasar fillet format dan kompresi Pilihan
-F format, --format=format
Tentukan filenya format untuk kompres atau dekompresi:

mobil Ini adalah default. Saat mengompres, mobil adalah setara dengan xz. Ketika
dekompresi, format file input terdeteksi secara otomatis. Catatan
aliran mentah itu (dibuat dengan --format=mentah) tidak dapat dideteksi secara otomatis.

xz Kompres ke .xz format file, atau terima saja .xz file kapan
dekompresi.

lzma, sendirian
Kompres ke warisan .lzma format file, atau terima saja .lzma file kapan
dekompresi. Nama alternatif sendirian disediakan untuk mundur
kompatibilitas dengan LZMA Utils.

mentah Kompres atau buka kompres aliran mentah (tanpa header). Ini dimaksudkan untuk
pengguna tingkat lanjut saja. Untuk memecahkan kode aliran mentah, Anda perlu menggunakan --format=mentah dan
secara eksplisit menentukan rantai filter, yang biasanya akan disimpan
di header kontainer.

-C memeriksa, --cek=memeriksa
Tentukan jenis pemeriksaan integritas. Cek dihitung dari
data yang tidak terkompresi dan disimpan di .xz mengajukan. Opsi ini memiliki efek hanya ketika
mengompresi ke dalam .xz format; NS .lzma format tidak mendukung pemeriksaan integritas.
Pemeriksaan integritas (jika ada) diverifikasi ketika: .xz file didekompresi.

Didukung memeriksa jenis:

tak satupun Jangan menghitung pemeriksaan integritas sama sekali. Ini biasanya ide yang buruk.
Ini dapat berguna ketika integritas data diverifikasi dengan cara lain
pula.

crc32 Hitung CRC32 menggunakan polinomial dari IEEE-802.3 (Ethernet).

crc64 Hitung CRC64 menggunakan polinomial dari ECMA-182. Ini defaultnya,
karena sedikit lebih baik daripada CRC32 dalam mendeteksi file yang rusak dan
perbedaan kecepatan diabaikan.

sha256 Hitung SHA-256. Ini agak lebih lambat dari CRC32 dan CRC64.

Integritas dari .xz header selalu diverifikasi dengan CRC32. Tidak mungkin
mengubah atau menonaktifkannya.

-0 ... -9
Pilih tingkat preset kompresi. Standarnya adalah -6. Jika beberapa level preset
ditentukan, yang terakhir berlaku. Jika rantai filter khusus sudah ada
ditentukan, menyetel tingkat prasetel kompresi akan menghapus rantai filter khusus.

Perbedaan antara preset lebih signifikan daripada dengan gzip(1) dan
bzip2(1). Pengaturan kompresi yang dipilih menentukan kebutuhan memori dari
dekompresor, sehingga menggunakan tingkat preset yang terlalu tinggi mungkin akan menyakitkan untuk
dekompresi file pada sistem lama dengan sedikit RAM. Secara khusus, itu tidak a
baik ide untuk secara membabi buta menggunakan -9 untuk segala sesuatu seperti itu sering dengan gzip(1) dan
bzip2(1).

-0 ... -3
Ini adalah preset yang agak cepat. -0 terkadang lebih cepat dari gzip -9 sementara
kompresi jauh lebih baik. Yang lebih tinggi sering memiliki kecepatan yang sebanding dengan
bzip2(1) dengan rasio kompresi yang sebanding atau lebih baik, meskipun hasilnya
sangat bergantung pada jenis data yang dikompresi.

-4 ... -6
Kompresi baik hingga sangat baik sambil menjaga penggunaan memori dekompresor
masuk akal bahkan untuk sistem lama. -6 adalah default, yang biasanya bagus
pilihan misalnya untuk mendistribusikan file yang perlu didekompresi bahkan pada
sistem dengan hanya 16 MiB RAM. (-5e or -6e mungkin layak dipertimbangkan juga.
Lihat --ekstrim.)

-7 ... -9
Ini seperti -6 tetapi dengan memori kompresor dan dekompresor yang lebih tinggi
persyaratan. Ini hanya berguna saat mengompresi file yang lebih besar dari
8 MiB, 16 MiB, dan 32 MiB, masing-masing.

Pada perangkat keras yang sama, kecepatan dekompresi kira-kira sejumlah
byte data terkompresi per detik. Dengan kata lain, semakin baik kompresi,
semakin cepat dekompresi biasanya. Ini juga berarti bahwa jumlah
output terkompresi yang dihasilkan per detik dapat sangat bervariasi.

Tabel berikut merangkum fitur preset:

Preset DictSize CompCPU CompMem DecMem
-0 256 KiB 0 3 MiB 1 MiB
-1 1 MiB 1 9 MiB 2 MiB
-2 2 MiB 2 17 MiB 3 MiB
-3 4 MiB 3 32 MiB 5 MiB
-4 4 MiB 4 48 MiB 5 MiB
-5 8 MiB 5 94 MiB 9 MiB
-6 8 MiB 6 94 MiB 9 MiB
-7 16 MiB 6 186 MiB 17 MiB
-8 32 MiB 6 370 MiB 33 MiB
-9 64 MiB 6 674 MiB 65 MiB

Deskripsi kolom:

· DictSize adalah ukuran kamus LZMA2. Membuang-buang memori untuk menggunakan a
kamus lebih besar dari ukuran file yang tidak terkompresi. Inilah sebabnya
baik untuk menghindari penggunaan preset -7 ... -9 ketika tidak ada kebutuhan nyata bagi mereka.
At -6 dan lebih rendah, jumlah memori yang terbuang biasanya cukup rendah untuk tidak
materi.

· CompCPU adalah representasi sederhana dari pengaturan LZMA2 yang mempengaruhi
kecepatan kompresi. Ukuran kamus mempengaruhi kecepatan juga, jadi sementara CompCPU adalah
sama untuk level -6 ... -9, tingkat yang lebih tinggi masih cenderung sedikit lebih lambat.
Untuk mendapatkan kompresi yang lebih lambat dan dengan demikian mungkin lebih baik, lihat --ekstrim.

· CompMem berisi kebutuhan memori kompresor dalam mode single-threaded.
Ini mungkin sedikit berbeda antara xz versi. Persyaratan memori dari beberapa
mode multithreaded masa depan mungkin secara dramatis lebih tinggi daripada mode single-
mode berulir.

· DecMem berisi persyaratan memori dekompresor. Artinya, kompresi
pengaturan menentukan kebutuhan memori dekompresor. Tepat
penggunaan memori dekompresor sedikit lebih dari ukuran kamus LZMA2, tapi
nilai dalam tabel telah dibulatkan ke MiB penuh berikutnya.

-e, --ekstrim
Gunakan varian yang lebih lambat dari tingkat preset kompresi yang dipilih (-0 ... -9) ke
semoga mendapatkan rasio kompresi yang sedikit lebih baik, tetapi dengan nasib buruk ini bisa
juga membuatnya lebih buruk. Penggunaan memori dekompresor tidak terpengaruh, tetapi kompresor
penggunaan memori meningkat sedikit pada tingkat yang telah ditetapkan -0 ... -3.

Karena ada dua preset dengan ukuran kamus 4 MiB dan 8 MiB, preset -3e
dan -5e gunakan pengaturan yang sedikit lebih cepat (CompCPU lebih rendah) daripada -4e dan -6e,
masing-masing. Dengan begitu tidak ada dua preset yang identik.

Preset DictSize CompCPU CompMem DecMem
-0e 256 KiB 8 4 MiB 1 MiB
-1e 1 MiB 8 13 MiB 2 MiB
-2e 2 MiB 8 25 MiB 3 MiB
-3e 4 MiB 7 48 MiB 5 MiB
-4e 4 MiB 8 48 MiB 5 MiB
-5e 8 MiB 7 94 MiB 9 MiB
-6e 8 MiB 8 94 MiB 9 MiB
-7e 16 MiB 8 186 MiB 17 MiB
-8e 32 MiB 8 370 MiB 33 MiB
-9e 64 MiB 8 674 MiB 65 MiB

Misalnya, ada total empat preset yang menggunakan kamus 8 MiB, yang
urutan dari yang tercepat ke yang paling lambat adalah -5, -6, -5e, dan -6e.

--cepat
--terbaik Ini adalah alias yang agak menyesatkan untuk -0 dan -9, masing-masing. Ini adalah
disediakan hanya untuk kompatibilitas mundur dengan LZMA Utils. Hindari menggunakan ini
Pilihan.

--ukuran blok=ukuran
Saat mengompres ke .xz format, pisahkan data input menjadi blok ukuran byte.
Blok dikompresi secara independen satu sama lain.

--memlimit-kompres=membatasi
Tetapkan batas penggunaan memori untuk kompresi. Jika opsi ini ditentukan beberapa
kali, yang terakhir berlaku.

Jika pengaturan kompresi melebihi membatasi, xz akan menyesuaikan pengaturan ke bawah
sehingga batas tidak lagi terlampaui dan menampilkan pemberitahuan yang otomatis
penyesuaian dilakukan. Penyesuaian tersebut tidak dilakukan saat mengompresi dengan
--format=mentah atau jika --tidak-menyesuaikan telah ditentukan. Dalam kasus tersebut, kesalahannya adalah
ditampilkan dan xz akan keluar dengan status keluar 1.

Grafik membatasi dapat ditentukan dalam beberapa cara:

· Itu membatasi dapat menjadi nilai absolut dalam byte. Menggunakan akhiran bilangan bulat seperti eb
bisa berguna. Contoh: --memlimit-kompres=80MiB

· Itu membatasi dapat ditentukan sebagai persentase dari total memori fisik (RAM). Ini
dapat berguna terutama saat mengatur XZ_DEFAULT variabel lingkungan di a
skrip inisialisasi shell yang dibagi antara komputer yang berbeda. Itu
cara batasnya secara otomatis lebih besar pada sistem dengan lebih banyak memori. Contoh:
--memlimit-kompres=70%

· Itu membatasi dapat direset kembali ke nilai default dengan menyetelnya ke 0. Ini
saat ini setara dengan pengaturan membatasi untuk max (tidak ada batas penggunaan memori). Satu kali
dukungan multithreading telah diimplementasikan, mungkin ada perbedaan antara 0
dan max untuk kasus multithreaded, jadi disarankan untuk menggunakan 0 alih-alih max
sampai rincian telah diputuskan.

Lihat juga bagian Memori pemakaian.

--memlimit-dekompresi=membatasi
Tetapkan batas penggunaan memori untuk dekompresi. Hal ini juga mempengaruhi --Daftar mode. Jika
operasi tidak mungkin tanpa melebihi membatasi, xz akan menampilkan kesalahan
dan dekompresi file akan gagal. Lihat --memlimit-kompres=membatasi untuk mungkin
cara untuk menentukan membatasi.

-M membatasi, --membatas=membatasi, --memori=membatasi
Ini setara dengan menentukan --memlimit-kompres=membatasi
--memlimit-dekompresi=membatasi.

--tidak-menyesuaikan
Tampilkan kesalahan dan keluar jika pengaturan kompresi melebihi penggunaan memori
membatasi. Defaultnya adalah menyesuaikan pengaturan ke bawah sehingga penggunaan memori
batas tidak terlampaui. Penyesuaian otomatis selalu dinonaktifkan saat membuat mentah
aliran (--format=mentah).

-T benang, --benang=benang
Tentukan jumlah utas pekerja yang akan digunakan. Jumlah utas sebenarnya dapat menjadi
kurang dari benang jika menggunakan lebih banyak utas akan melebihi batas penggunaan memori.

Multithread kompresi dan dekompresi adalah tidak diimplementasikan namun, so ini Option
memiliki tidak efek untuk sekarang.

As of penulisan (2010-09-27) it belum menjadi memutuskan if benang akan be bekas by
kegagalan on multicore sistem sekali mendukung untuk threading memiliki menjadi diimplementasikan.
komentar adalah Selamat datang. Faktor rumitnya adalah menggunakan banyak utas akan
meningkatkan penggunaan memori secara dramatis. Perhatikan bahwa jika multithreading akan menjadi
default, itu mungkin akan dilakukan sehingga mode single-threaded dan multithreaded
menghasilkan output yang sama, sehingga rasio kompresi tidak akan terpengaruh secara signifikan jika
threading akan diaktifkan secara default.

Kustom kompresor menyaring rantai
Rantai filter khusus memungkinkan menentukan pengaturan kompresi secara detail alih-alih
mengandalkan pengaturan yang terkait dengan tingkat preset. Ketika rantai filter khusus adalah
ditentukan, opsi tingkat preset kompresi (-0 ... -9 dan --ekstrim) diam-diam
diabaikan.

Rantai filter sebanding dengan pemipaan pada baris perintah. Saat mengompresi,
input yang tidak terkompresi masuk ke filter pertama, yang outputnya masuk ke filter berikutnya (jika
setiap). Output dari filter terakhir akan ditulis ke file terkompresi. Maksimal
jumlah filter dalam rantai adalah empat, tetapi biasanya rantai filter hanya memiliki satu atau dua
filter.

Banyak filter memiliki batasan di mana mereka dapat berada dalam rantai filter: beberapa filter dapat
hanya berfungsi sebagai filter terakhir dalam rantai, beberapa hanya sebagai filter non-terakhir, dan beberapa berfungsi
dalam posisi apapun dalam rantai. Tergantung pada filternya, batasan ini bersifat bawaan
ke desain filter atau ada untuk mencegah masalah keamanan.

Rantai filter khusus ditentukan dengan menggunakan satu atau beberapa opsi filter sesuai urutannya
diinginkan dalam rantai filter. Artinya, urutan opsi filter itu penting!
Saat mendekode aliran mentah (--format=mentah), rantai filter ditentukan dalam urutan yang sama
seperti yang ditentukan saat mengompresi.

Filter mengambil filter khusus Pilihan sebagai daftar yang dipisahkan koma. Koma ekstra di Pilihan
diabaikan. Setiap opsi memiliki nilai default, jadi Anda hanya perlu menentukan yang Anda inginkan
berubah.

--lzma1[=Pilihan]
--lzma2[=Pilihan]
Tambahkan filter LZMA1 atau LZMA2 ke rantai filter. Filter ini hanya dapat digunakan sebagai
filter terakhir dalam rantai.

LZMA1 adalah filter warisan, yang didukung hampir semata-mata karena warisan .lzma
format file, yang hanya mendukung LZMA1. LZMA2 adalah versi terbaru dari LZMA1 untuk
memperbaiki beberapa masalah praktis LZMA1. NS .xz format menggunakan LZMA2 dan tidak mendukung
LZMA1 sama sekali. Kecepatan kompresi dan rasio LZMA1 dan LZMA2 praktis
sama.

LZMA1 dan LZMA2 berbagi set yang sama Pilihan:

prasetel=ditetapkan
Setel ulang semua LZMA1 atau LZMA2 Pilihan untuk ditetapkan. Preset terdiri dari bilangan bulat,
yang dapat diikuti oleh pengubah preset satu huruf. Bilangan bulat dapat menjadi
dari 0 untuk 9, cocok dengan opsi baris perintah -0 ... -9. Satu-satunya
pengubah yang didukung saat ini e, yang cocok --ekstrim. Default
ditetapkan is 6, dari mana nilai default untuk sisa LZMA1 atau
LZMA2 Pilihan sudah diambil.

dikt=ukuran
Kamus (penyangga riwayat) ukuran menunjukkan berapa banyak byte baru-baru ini
data terkompresi yang diproses disimpan dalam memori. Algoritma mencoba untuk menemukan
mengulangi urutan byte (cocok) dalam data yang tidak terkompresi, dan mengganti
mereka dengan referensi ke data saat ini dalam kamus. Lebih besar
kamus, semakin tinggi kesempatan untuk menemukan kecocokan. Dengan demikian, meningkatkan
kamus ukuran biasanya meningkatkan rasio kompresi, tetapi kamus lebih besar
daripada file yang tidak dikompresi adalah pemborosan memori.

Kamus biasa ukuran adalah dari 64 KiB hingga 64 MiB. Minimal adalah 4 KiB.
Maksimum untuk kompresi saat ini adalah 1.5 GiB (1536 MiB). NS
decompressor sudah mendukung kamus hingga satu byte kurang dari 4 GiB,
yang merupakan maksimum untuk format aliran LZMA1 dan LZMA2.

Kamus ukuran dan pencari kecocokan (mf) bersama-sama menentukan penggunaan memori dari
enkoder LZMA1 atau LZMA2. Kamus yang sama (atau lebih besar) ukuran is
diperlukan untuk dekompresi yang digunakan saat mengompresi, sehingga memori
penggunaan decoder ditentukan oleh ukuran kamus yang digunakan ketika
mengompresi. NS .xz header menyimpan kamus ukuran baik sebagai 2^n atau 2^n
+ 2^(n-1), jadi ini ukuran agak disukai untuk kompresi. Lainnya
ukuran akan dibulatkan saat disimpan di .xz header.

lc=lc Tentukan jumlah bit konteks literal. Minimum adalah 0 dan
maksimum adalah 4; defaultnya adalah 3. Selain itu, jumlah dari lc dan lp tidak harus
melebihi 4.

Semua byte yang tidak dapat dikodekan sebagai kecocokan dikodekan sebagai literal. Itu
adalah, literal hanyalah byte 8-bit yang dikodekan satu per satu.

Pengkodean literal membuat asumsi bahwa yang tertinggi lc sedikit dari
byte terkompresi sebelumnya berkorelasi dengan byte berikutnya. Misalnya dalam tipikal
Teks bahasa Inggris, huruf besar sering diikuti dengan huruf kecil,
dan huruf kecil biasanya diikuti oleh huruf kecil lainnya.
Dalam set karakter US-ASCII, tiga bit tertinggi adalah 010 untuk huruf besar
huruf dan 011 untuk huruf kecil. Kapan lc setidaknya 3, literalnya
pengkodean dapat memanfaatkan properti ini dalam data yang tidak terkompresi.

Nilai default (3) biasanya bagus. Jika ingin kompresi maksimal,
uji lc=4. Terkadang itu sedikit membantu, dan terkadang itu membuat kompresi
lebih buruk. Jika membuatnya lebih buruk, tes misalnya lc=2 juga.

lp=lp Tentukan jumlah bit posisi literal. Minimum adalah 0 dan
maksimum adalah 4; defaultnya adalah 0.

Lp mempengaruhi jenis penyelarasan dalam data yang tidak dikompresi yang diasumsikan ketika
pengkodean literal. Lihat pb di bawah ini untuk informasi lebih lanjut tentang penyelarasan.

pb =pb Tentukan jumlah bit posisi. Minimum adalah 0 dan maksimum adalah 4;
defaultnya adalah 2.

Pb mempengaruhi jenis penyelarasan dalam data yang tidak terkompresi yang diasumsikan dalam
umum. Standarnya berarti penyelarasan empat byte (2^pb=2^2=4), yang sering
pilihan yang baik ketika tidak ada tebakan yang lebih baik.

Ketika aligment diketahui, setting pb karenanya dapat mengurangi ukuran file
sedikit. Misalnya dengan file teks yang memiliki penyelarasan satu byte (US-ASCII,
ISO-8859-*, UTF-8), pengaturan pb=0 dapat meningkatkan kompresi sedikit. Untuk
teks UTF-16, pb=1 adalah pilihan yang baik. Jika perataannya adalah bilangan ganjil seperti
3 byte, pb=0 mungkin pilihan terbaik.

Meskipun keselarasan yang diasumsikan dapat disesuaikan dengan pb dan lp, LZMA1 dan
LZMA2 masih sedikit mendukung penyelarasan 16-byte. Mungkin layak untuk dipertimbangkan
akun saat merancang format file yang cenderung sering dikompresi
dengan LZMA1 atau LZMA2.

mf=mf Pencari kecocokan memiliki pengaruh besar pada kecepatan encoder, penggunaan memori, dan
rasio kompresi. Biasanya pencari kecocokan Hash Chain lebih cepat daripada Binary
Pencari kecocokan pohon. Standarnya tergantung pada ditetapkan: 0 kegunaan hc3, 1-3 gunakan
hc4, dan sisanya menggunakan bt4.

Pencari kecocokan berikut didukung. Rumus penggunaan memori di bawah ini
adalah perkiraan kasar, yang paling dekat dengan kenyataan ketika dict adalah
kekuatan dua.

hc3 Rantai Hash dengan hashing 2 dan 3 byte
Nilai minimum untuk bagus: 3
Penggunaan memori:
dict * 7.5 (jika dict <= 16 MiB);
dict * 5.5 + 64 MiB (jika dict > 16 MiB)

hc4 Rantai Hash dengan hashing 2-, 3, dan 4-byte
Nilai minimum untuk bagus: 4
Penggunaan memori:
dict * 7.5 (jika dict <= 32 MiB);
dict * 6.5 (jika dict > 32 MiB)

bt2 Pohon Biner dengan hashing 2-byte
Nilai minimum untuk bagus: 2
Penggunaan memori: dict * 9.5

bt3 Pohon Biner dengan hashing 2 dan 3 byte
Nilai minimum untuk bagus: 3
Penggunaan memori:
dict * 11.5 (jika dict <= 16 MiB);
dict * 9.5 + 64 MiB (jika dict > 16 MiB)

bt4 Pohon Biner dengan hashing 2-, 3, dan 4-byte
Nilai minimum untuk bagus: 4
Penggunaan memori:
dict * 11.5 (jika dict <= 32 MiB);
dict * 10.5 (jika dict > 32 MiB)

modus=mode
Kompresi mode menentukan metode untuk menganalisis data yang dihasilkan oleh
pencari pertandingan. Didukung mode adalah cepat dan normal. Standarnya adalah cepat untuk
preset 0-3 dan normal untuk preset 4-9.

Biasanya cepat digunakan dengan pencari kecocokan Hash Chain dan normal dengan Biner
Pencari kecocokan pohon. Ini juga yang preset lakukan.

bagus =bagus
Tentukan apa yang dianggap sebagai panjang yang bagus untuk sebuah pertandingan. Sekali pertandingan
sekurang-kurangnya bagus byte ditemukan, algoritma berhenti mencari kemungkinan
pertandingan yang lebih baik.

Bagus bisa 2-273 byte. Nilai yang lebih tinggi cenderung memberikan kompresi yang lebih baik
rasio dengan mengorbankan kecepatan. Standarnya tergantung pada ditetapkan.

kedalaman =kedalaman
Tentukan kedalaman pencarian maksimum di pencari kecocokan. Standarnya adalah
nilai khusus 0, yang membuat kompresor menentukan yang wajar kedalaman
dari mf dan bagus.

Masuk akal kedalaman untuk Hash Chains adalah 4-100 dan 16-1000 untuk Binary Trees.
Menggunakan nilai yang sangat tinggi untuk kedalaman dapat membuat encoder menjadi sangat lambat dengan
beberapa file. Hindari pengaturan kedalaman lebih dari 1000 kecuali Anda siap untuk
hentikan kompresi jika terlalu lama.

Saat mendekode aliran mentah (--format=mentah), LZMA2 hanya membutuhkan kamus ukuran.
LZMA1 juga membutuhkan lc, lp, dan pb.

--x86[=Pilihan]
--powerpc[=Pilihan]
--ia64[=Pilihan]
--lengan[=Pilihan]
--jempol[=Pilihan]
--sparc[=Pilihan]
Tambahkan filter cabang/panggilan/lompat (BCJ) ke rantai filter. Filter ini dapat digunakan
hanya sebagai filter non-terakhir dalam rantai filter.

Filter BCJ mengubah alamat relatif dalam kode mesin menjadi alamat absolutnya
rekan-rekan. Ini tidak mengubah ukuran data, tetapi bertambah
redundansi, yang dapat membantu LZMA2 menghasilkan 0-15% lebih kecil .xz mengajukan. BCJ
filter selalu dapat dibalik, jadi menggunakan filter BCJ untuk jenis data yang salah tidak
menyebabkan hilangnya data, meskipun mungkin membuat rasio kompresi sedikit lebih buruk.

Tidak apa-apa untuk menerapkan filter BCJ pada keseluruhan yang dapat dieksekusi; tidak perlu menerapkannya
hanya pada bagian yang dapat dieksekusi. Menerapkan filter BCJ pada arsip yang berisi
file yang dapat dieksekusi dan tidak dapat dieksekusi mungkin atau mungkin tidak memberikan hasil yang baik, jadi itu
umumnya tidak baik untuk menerapkan filter BCJ secara membabi buta saat mengompresi paket biner
untuk distribusi.

Filter BCJ ini sangat cepat dan menggunakan jumlah memori yang tidak signifikan. Jika BCJ
filter meningkatkan rasio kompresi file, dapat meningkatkan kecepatan dekompresi pada
waktu yang sama. Ini karena, pada perangkat keras yang sama, kecepatan dekompresi dari
LZMA2 kira-kira adalah sejumlah byte data terkompresi per detik.

Filter BCJ ini memiliki masalah yang diketahui terkait dengan rasio kompresi:

· Beberapa jenis file yang berisi kode yang dapat dieksekusi (misalnya file objek, statis
perpustakaan, dan modul kernel Linux) memiliki alamat dalam instruksi
diisi dengan nilai pengisi. Filter BCJ ini masih akan melakukan alamat
konversi, yang akan membuat kompresi lebih buruk dengan file-file ini.

· Menerapkan filter BCJ pada arsip yang berisi beberapa executable serupa dapat
membuat rasio kompresi lebih buruk daripada tidak menggunakan filter BCJ. Hal ini karena
filter BCJ tidak mendeteksi batas file yang dapat dieksekusi, dan
tidak mengatur ulang penghitung konversi alamat untuk setiap yang dapat dieksekusi.

Kedua masalah di atas akan diperbaiki di masa mendatang dalam filter baru. Yang lama
Filter BCJ akan tetap berguna dalam sistem tertanam, karena dekoder dari
filter baru akan lebih besar dan menggunakan lebih banyak memori.

Set instruksi yang berbeda memiliki keselarasan yang berbeda:

Saring Catatan Penyelarasan
x86 1 32-bit atau 64-bit x86
PowerPC 4 Big endian saja
ARM 4 Little endian saja
ARM-Thumb 2 Little endian saja
IA-64 16 Endian besar atau kecil
SPARC 4 Big atau little endian

Karena data yang difilter BCJ biasanya dikompresi dengan LZMA2, rasio kompresi
dapat ditingkatkan sedikit jika opsi LZMA2 diatur agar sesuai dengan penyelarasan
filter BCJ yang dipilih. Misalnya, dengan filter IA-64, ada baiknya untuk mengatur pb=4
dengan LZMA2 (2^4=16). Filter x86 adalah pengecualian; biasanya baik untuk tetap berpegang pada
Penyelarasan empat byte default LZMA2 saat mengompresi executable x86.

Semua filter BCJ mendukung hal yang sama Pilihan:

mulai =mengimbangi
Tentukan awal mengimbangi yang digunakan saat mengonversi antara relatif dan
alamat mutlak. NS mengimbangi harus kelipatan dari keselarasan
filter (lihat tabel di atas). Standarnya adalah nol. Dalam prakteknya,
defaultnya bagus; menentukan kebiasaan mengimbangi hampir tidak pernah berguna.

--delta[=Pilihan]
Tambahkan filter Delta ke rantai filter. Filter Delta hanya dapat digunakan sebagai
filter non-terakhir dalam rantai filter.

Saat ini hanya perhitungan delta byte-bijaksana sederhana yang didukung. Ini bisa berguna
saat mengompresi misalnya gambar bitmap yang tidak terkompresi atau audio PCM yang tidak terkompresi.
Namun, algoritma tujuan khusus dapat memberikan hasil yang jauh lebih baik daripada
Delta + LZMA2. Hal ini berlaku terutama dengan audio, yang mengompres lebih cepat dan
lebih baik misalnya dengan flac(1).

Didukung Pilihan:

dist=jarak
Tentukan jarak dari perhitungan delta dalam byte. jarak harus
1-256. Standarnya adalah 1.

Misalnya dengan jarak = 2 dan input delapan byte A1 B1 A2 B3 A3 B5 A4 B7,
outputnya adalah A1 B1 01 02 01 02 01 02.

Lainnya Pilihan
-q, --diam
Menekan peringatan dan pemberitahuan. Tentukan ini dua kali untuk menekan kesalahan juga. Ini
opsi tidak berpengaruh pada status keluar. Artinya, bahkan jika peringatan itu
ditekan, status keluar untuk menunjukkan peringatan masih digunakan.

-v, --bertele-tele
Bertele-tele. Jika kesalahan standar terhubung ke terminal, xz akan menampilkan a
indikator kemajuan. Menentukan --bertele-tele dua kali akan memberikan lebih banyak output verbose.

Indikator kemajuan menunjukkan informasi berikut:

· Persentase penyelesaian ditampilkan jika ukuran file input diketahui. Itu adalah,
persentase tidak dapat ditampilkan dalam pipa.

· Jumlah data terkompresi yang dihasilkan (kompresi) atau dikonsumsi (dekompresi).

· Jumlah data terkompresi yang dikonsumsi (kompresi) atau diproduksi (dekompresi).

· Rasio kompresi, yang dihitung dengan membagi jumlah data terkompresi
diproses sejauh ini dengan jumlah data terkompresi yang diproses sejauh ini.

· Kecepatan kompresi atau dekompresi. Ini diukur sebagai jumlah
data terkompresi dikonsumsi (kompresi) atau diproduksi (dekompresi) per detik.
Itu ditunjukkan setelah beberapa detik berlalu sejak xz mulai memproses
file.

· Waktu berlalu dalam format M:SS atau H:MM:SS.

· Perkiraan waktu yang tersisa hanya ditampilkan ketika ukuran file input diketahui
dan beberapa detik telah berlalu sejak xz mulai memproses
mengajukan. Waktu ditampilkan dalam format yang kurang tepat yang tidak pernah memiliki titik dua,
misalnya 2 menit 30 detik.

Ketika kesalahan standar bukan terminal, --bertele-tele akan membuat xz cetak nama file,
ukuran terkompresi, ukuran tidak terkompresi, rasio kompresi, dan mungkin juga kecepatan
dan waktu yang telah berlalu pada satu baris ke kesalahan standar setelah mengompresi atau
mendekompresi file. Kecepatan dan waktu yang telah berlalu hanya disertakan jika
operasi memakan waktu setidaknya beberapa detik. Jika operasi tidak selesai, misalnya karena
gangguan pengguna, juga persentase penyelesaian dicetak jika ukuran
file masukan diketahui.

-Q, --tidak-peringatan
Jangan atur status keluar ke 2 meskipun kondisi yang bernilai peringatan terdeteksi.
Opsi ini tidak memengaruhi tingkat verbositas, jadi keduanya --diam dan --tidak-peringatan
harus digunakan untuk tidak menampilkan peringatan dan tidak mengubah status keluar.

--robot
Cetak pesan dalam format yang dapat diurai mesin. Hal ini dimaksudkan untuk memudahkan penulisan
frontend yang ingin digunakan xz alih-alih liblzma, yang mungkin terjadi dengan
berbagai skrip. Output dengan opsi ini diaktifkan dimaksudkan agar stabil di seluruh
xz rilis. Lihat bagian ROBOT MODE untuk rincian.

--info-memori
Menampilkan, dalam format yang dapat dibaca manusia, berapa banyak memori fisik (RAM) xz berpikir
sistem memiliki dan batas penggunaan memori untuk kompresi dan dekompresi, dan keluar
berhasil.

-h, --membantu
Tampilkan pesan bantuan yang menjelaskan opsi yang paling umum digunakan, dan keluar
berhasil.

-H, --bantuan panjang
Tampilkan pesan bantuan yang menjelaskan semua fitur xz, dan keluar dengan sukses

-V, --Versi: kapan
Tampilkan nomor versi dari xz dan liblzma dalam format yang dapat dibaca manusia. Mendapatkan
output yang dapat diurai mesin, tentukan --robot sebelum --Versi: kapan.

ROBOT MODE


Mode robot diaktifkan dengan --robot pilihan. Itu membuat output dari xz lebih mudah untuk
diurai oleh program lain. Saat ini --robot hanya didukung bersama dengan --Versi: kapan,
--info-memori, dan --Daftar. Ini akan didukung untuk kompresi dan dekompresi normal
di masa depan.

Versi
xz --robot --Versi: kapan akan mencetak nomor versi xz dan liblzma berikut ini
format:

XZ_VERSI=XYYYZZS
LIBLZMA_VERSION=XYYYZZS

X Versi utama.

YYY Versi kecil. Angka genap bersifat stabil. Angka ganjil adalah versi alfa atau beta.

Zzz Tingkat tambalan untuk rilis stabil atau hanya penghitung untuk rilis pengembangan.

S Stabilitas. 0 adalah alfa, 1 adalah beta, dan 2 stabil. S harus selalu 2 ketika YYY
adalah genap.

XYYYZZS sama pada kedua garis jika xz dan liblzma berasal dari rilis XZ Utils yang sama.

Contoh: 4.999.9beta adalah 49990091 dan 5.0.0 adalah 50000002.

Memori membatasi informasi
xz --robot --info-memori mencetak satu baris dengan tiga kolom yang dipisahkan tab:

1. Jumlah total memori fisik (RAM) dalam byte

2. Batas penggunaan memori untuk kompresi dalam byte. Nilai khusus nol menunjukkan
pengaturan default, yang untuk mode single-threaded sama dengan no limit.

3. Batas penggunaan memori untuk dekompresi dalam byte. Nilai khusus nol menunjukkan
pengaturan default, yang untuk mode single-threaded sama dengan no limit.

Di masa depan, output dari xz --robot --info-memori mungkin memiliki lebih banyak kolom, tetapi tidak pernah
lebih dari satu baris.

Daftar mode
xz --robot --Daftar menggunakan output yang dipisahkan tab. Kolom pertama dari setiap baris memiliki string
yang menunjukkan jenis informasi yang ditemukan pada baris itu:

nama Ini selalu menjadi baris pertama ketika mulai membuat daftar file. Kolom kedua pada
baris adalah nama file.

fillet Baris ini berisi informasi keseluruhan tentang .xz mengajukan. Garis ini selalu
dicetak setelah nama line.

aliran Jenis garis ini hanya digunakan ketika --bertele-tele telah ditentukan. Ada banyak aliran
garis karena ada aliran di .xz file.

blok Jenis garis ini hanya digunakan ketika --bertele-tele telah ditentukan. Ada banyak blok
garis karena ada blok di .xz mengajukan. Itu blok garis ditampilkan setelah semua
aliran garis; jenis garis yang berbeda tidak disisipkan.

ringkasan
Jenis garis ini hanya digunakan ketika --bertele-tele ditentukan dua kali. Garis ini adalah
dicetak setelah semua blok garis. Seperti fillet baris, yang ringkasan baris berisi
informasi keseluruhan tentang .xz file.

total Baris ini selalu merupakan baris terakhir dari keluaran daftar. Ini menunjukkan total
jumlah dan ukuran.

Kolom dari fillet baris:
2. Jumlah aliran dalam file
3. Jumlah total blok dalam aliran
4. Ukuran file terkompresi
5. Ukuran file yang tidak terkompresi
6. Rasio kompresi, misalnya 0.123. Jika rasio lebih dari 9.999, tiga garis
(---) ditampilkan sebagai ganti rasio.
7. Daftar nama pemeriksaan integritas yang dipisahkan koma. String berikut digunakan:
untuk jenis pemeriksaan yang diketahui: None, CRC32, CRC64, dan SHA-256. Untuk cek yang tidak diketahui
jenis, Tidak dikenal-N digunakan, dimana N adalah ID Periksa sebagai angka desimal (satu atau
dua digit).
8. Ukuran total padding aliran dalam file

Kolom dari aliran baris:
2. Nomor aliran (aliran pertama adalah 1)
3. Jumlah blok dalam aliran
4. Offset awal terkompresi
5. Offset awal yang tidak terkompresi
6. Ukuran terkompresi (tidak termasuk bantalan aliran)
7. Ukuran tidak terkompresi
8. Rasio kompresi
9. Nama pemeriksaan integritas
10. Ukuran bantalan aliran

Kolom dari blok baris:
2. Jumlah aliran yang berisi blok ini
3. Nomor blok relatif terhadap awal aliran (blok pertama adalah 1)
4. Nomor blok relatif terhadap awal file
5. Offset awal terkompresi relatif terhadap awal file
6. Offset awal yang tidak terkompresi relatif terhadap awal file
7. Total ukuran blok terkompresi (termasuk header)
8. Ukuran tidak terkompresi
9. Rasio kompresi
10. Nama pemeriksaan integritas

If --bertele-tele ditentukan dua kali, kolom tambahan disertakan pada blok garis.
Ini tidak ditampilkan dengan satu --bertele-tele, karena mendapatkan informasi ini membutuhkan
banyak mencari dan dengan demikian bisa lambat:
11. Nilai pemeriksaan integritas dalam heksadesimal
12. Blokir ukuran tajuk
13. Blokir bendera: c menunjukkan bahwa ukuran terkompresi hadir, dan u mengindikasikan bahwa
ukuran terkompresi hadir. Jika bendera tidak disetel, tanda hubung (-) ditampilkan
sebagai gantinya untuk menjaga panjang string tetap. Bendera baru dapat ditambahkan ke akhir
tali di masa depan.
14. Ukuran data terkompresi aktual di blok (ini tidak termasuk blok
header, blok padding, dan centang kolom)
15. Jumlah memori (dalam byte) yang diperlukan untuk mendekompresi blok ini dengan ini xz
versi
16. Rantai penyaring. Perhatikan bahwa sebagian besar opsi yang digunakan pada waktu kompresi tidak dapat
diketahui, karena hanya opsi yang diperlukan untuk dekompresi yang disimpan di
itu .xz header.

Kolom dari ringkasan baris:
2. Jumlah memori (dalam byte) yang diperlukan untuk mendekompresi file ini dengan ini xz
versi
3. iya nih or tidak menunjukkan jika semua header blok memiliki ukuran terkompresi dan
ukuran terkompresi yang disimpan di dalamnya
Sejak xz 5.1.2alfa:
4. Minimum xz versi yang diperlukan untuk mendekompresi file

Kolom dari total garis:
2. Jumlah aliran
3. Jumlah blok
4. Ukuran terkompresi
5. Ukuran tidak terkompresi
6. Rasio kompresi rata-rata
7. Daftar nama pemeriksaan integritas yang dipisahkan koma yang ada di file
8. Ukuran bantalan aliran
9. Jumlah file. Ini di sini untuk menjaga urutan kolom sebelumnya
sama seperti pada fillet garis.

If --bertele-tele ditentukan dua kali, kolom tambahan disertakan pada total garis:
10. Jumlah maksimum memori (dalam byte) yang diperlukan untuk mendekompresi file dengan ini
xz versi
11. iya nih or tidak menunjukkan jika semua header blok memiliki ukuran terkompresi dan
ukuran terkompresi yang disimpan di dalamnya
Sejak xz 5.1.2alfa:
12. Minimum xz versi yang diperlukan untuk mendekompresi file

Versi mendatang dapat menambahkan jenis baris baru dan kolom baru dapat ditambahkan ke baris yang ada
jenis, tetapi kolom yang ada tidak akan diubah.

EXIT STATUS


0 Semua baik.

1 Terjadi kesalahan.

2 Sesuatu yang patut diperingatkan terjadi, tetapi tidak ada kesalahan yang sebenarnya terjadi.

Pemberitahuan (bukan peringatan atau kesalahan) yang dicetak pada kesalahan standar tidak memengaruhi status keluar.

LINGKUNGAN


xz mem-parsing daftar opsi yang dipisahkan ruang dari variabel lingkungan XZ_DEFAULT dan
XZ_OPT, dalam urutan ini, sebelum menguraikan opsi dari baris perintah. Perhatikan bahwa hanya
pilihan diurai dari variabel lingkungan; semua non-opsi diabaikan secara diam-diam.
Penguraian dilakukan dengan dapatkan opt_long(3) yang digunakan juga untuk argumen baris perintah.

XZ_DEFAULT
Opsi default khusus pengguna atau seluruh sistem. Biasanya ini diatur dalam shell
skrip inisialisasi untuk mengaktifkan xzPembatas penggunaan memori secara default. Tidak termasuk
skrip inisialisasi shell dan kasus khusus serupa, skrip tidak boleh disetel atau
tidak disetel XZ_DEFAULT.

XZ_OPT Ini untuk melewati opsi ke xz ketika tidak mungkin untuk mengatur opsi
langsung di xz garis komando. Ini adalah kasus misalnya ketika xz dijalankan oleh skrip
atau alat, misalnya GNU ter(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

Script dapat menggunakan XZ_OPT misalnya untuk menyetel opsi kompresi default khusus skrip. Dia
masih disarankan untuk mengizinkan pengguna mengganti XZ_OPT jika itu masuk akal, misalnya
in sh(1) skrip seseorang dapat menggunakan sesuatu seperti ini:

XZ_OPT=${XZ_OPT-"-7e"}
ekspor XZ_OPT

LZMA Utils KOMPATIBILITAS


Sintaks baris perintah dari xz praktis merupakan superset dari lzma, unlzma, dan lzcat as
ditemukan dari LZMA Utils 4.32.x. Dalam kebanyakan kasus, dimungkinkan untuk mengganti LZMA Utils dengan XZ
Utils tanpa merusak skrip yang ada. Ada beberapa yang tidak kompatibel, yang
terkadang dapat menyebabkan masalah.

Kompresi ditetapkan adalah ide yang bagus
Penomoran preset tingkat kompresi tidak identik dalam xz dan LZMA Utils. NS
perbedaan yang paling penting adalah bagaimana ukuran kamus dipetakan ke preset yang berbeda.
Ukuran kamus kira-kira sama dengan penggunaan memori dekompresor.

Tingkat xz LZMA Utils
-0 256 KiB T/A
-1 1 MiB 64 KiB
-2 2 MiB 1 MiB
-3 4 MiB 512 KiB
-4 4 MiB 1 MiB
-5 8 MiB 2 MiB
-6 8 MiB 4 MiB
-7 16 MiB 8 MiB
-8 32 MiB 16 MiB
-9 64 MiB 32 MiB

Perbedaan ukuran kamus mempengaruhi penggunaan memori kompresor juga, tetapi ada beberapa
perbedaan lain antara LZMA Utils dan XZ Utils, yang membuat perbedaan semakin besar:

Level xz LZMA Util 4.32.x
-0 3 MiB T/A
-1 9 MiB 2 MiB
-2 17 MiB 12 MiB
-3 32 MiB 12 MiB
-4 48 MiB 16 MiB
-5 94 MiB 26 MiB
-6 94 MiB 45 MiB
-7 186 MiB 83 MiB
-8 370 MiB 159 MiB
-9 674 MiB 311 MiB

Level prasetel default di LZMA Utils adalah -7 sementara di XZ Utils itu -6, jadi keduanya menggunakan 8
kamus MiB secara default.

Mengalir vs tidak dialirkan .lzma arsip
Ukuran file yang tidak terkompresi dapat disimpan di .lzma kepala. LZMA Utils melakukan itu
saat mengompresi file biasa. Alternatifnya adalah menandai bahwa ukuran yang tidak terkompresi adalah
tidak diketahui dan gunakan penanda end-of-payload untuk menunjukkan di mana dekompresor harus berhenti.
LZMA Utils menggunakan metode ini ketika ukuran tidak terkompresi tidak diketahui, yang merupakan kasus untuk
contoh pada pipa.

xz mendukung dekompresi .lzma file dengan atau tanpa penanda end-of-payload, tetapi semua .lzma
file yang dibuat oleh xz akan menggunakan penanda akhir muatan dan memiliki ukuran tidak terkompresi yang ditandai sebagai
tidak dikenal di .lzma kepala. Ini mungkin menjadi masalah dalam beberapa situasi yang tidak biasa. Untuk
contoh, .lzma dekompresor di perangkat tertanam mungkin hanya berfungsi dengan file yang memiliki
ukuran terkompresi yang diketahui. Jika Anda mengalami masalah ini, Anda perlu menggunakan LZMA Utils atau LZMA SDK
untuk membuat .lzma file dengan ukuran terkompresi yang diketahui.

Tidak didukung .lzma arsip
Grafik .lzma format memungkinkan lc nilai hingga 8, dan lp nilai hingga 4. LZMA Utils dapat
dekompresi file dengan apa saja lc dan lp, tetapi selalu membuat file dengan lc=3 dan lp=0.
Membuat file dengan yang lain lc dan lp mungkin dengan xz dan dengan LZMA SDK.

Implementasi filter LZMA1 di liblzma mengharuskan jumlah dari lc dan lp harus
tidak melebihi 4. Jadi, .lzma file, yang melebihi batasan ini, tidak dapat didekompresi
dengan xz.

LZMA Utils hanya membuat .lzma file yang memiliki ukuran kamus 2^n (kekuatan 2) tapi
menerima file dengan ukuran kamus apa pun. liblzma hanya menerima .lzma file yang memiliki
ukuran kamus 2^n atau 2^n + 2^(n-1). Ini untuk mengurangi positif palsu ketika
mendeteksi .lzma file.

Keterbatasan ini seharusnya tidak menjadi masalah dalam praktiknya, karena hampir semua .lzma arsip
telah dikompresi dengan pengaturan yang akan diterima liblzma.

Trailing sampah
Saat melakukan dekompresi, LZMA Utils secara diam-diam mengabaikan semuanya setelah yang pertama .lzma aliran.
Dalam kebanyakan situasi, ini adalah bug. Ini juga berarti bahwa LZMA Utils tidak mendukung
dekompresi digabungkan .lzma file.

Jika ada data yang tersisa setelah yang pertama .lzma sungai kecil, xz menganggap file tersebut rusak
kecuali kalau --aliran tunggal digunakan. Ini dapat merusak skrip yang tidak jelas yang mengasumsikan bahwa
trailing sampah diabaikan.

CATATAN


Terkompresi keluaran mungkin berbeda
Output terkompresi yang tepat yang dihasilkan dari file input tidak terkompresi yang sama dapat bervariasi
antara versi XZ Utils meskipun opsi kompresinya sama. Ini karena
encoder dapat ditingkatkan (kompresi lebih cepat atau lebih baik) tanpa mempengaruhi format file.
Output dapat bervariasi bahkan antara build yang berbeda dari versi XZ Utils yang sama, jika
opsi build yang berbeda digunakan.

Di atas berarti bahwa mengimplementasikan --dapat disinkronkan untuk membuat rsyncable .xz file tidak berjalan
terjadi tanpa membekukan bagian dari implementasi encoder, yang kemudian dapat digunakan
dengan --dapat disinkronkan.

Tertanam .xz dekompresor
Tertanam .xz implementasi dekompresor seperti XZ Embedded tidak selalu mendukung file
dibuat dengan integritas memeriksa jenis selain tak satupun dan crc32. Karena defaultnya adalah
--cek=crc64, Anda harus menggunakan --cek=tidak ada or --cek=crc32 saat membuat file untuk disematkan
sistem.

Di luar sistem tertanam, semua .xz format dekompresor mendukung semua memeriksa jenis, atau pada
paling tidak dapat mendekompresi file tanpa memverifikasi pemeriksaan integritas jika
tertentu memeriksa Tidak didukung

XZ Embedded mendukung filter BCJ, tetapi hanya dengan offset awal default.

CONTOH


Dasar-dasar
Kompres filenya foo ke foo.xz menggunakan tingkat kompresi default (-6), dan hapus foo
jika kompresi berhasil:

xz fo

Dekompresi bar.xz ke bar dan jangan di hapus bar.xz bahkan jika dekompresi berhasil:

xz -dk bar.xz

membuat baz.tar.xz dengan preset -4e (-4 --ekstrim), yang lebih lambat dari misalnya
kegagalan -6, tetapi membutuhkan lebih sedikit memori untuk kompresi dan dekompresi (48 MiB dan 5 MiB,
masing-masing):

tar cf - baz | xz -4e > baz.tar.xz

Campuran file terkompresi dan tidak terkompresi dapat didekompresi ke output standar dengan a
perintah tunggal:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

Paralel kompresi of banyak arsip
Pada GNU dan *BSD, menemukan(1) dan xargs(1) dapat digunakan untuk memparalelkan kompresi banyak
file:

Temukan . -ketik f\! -nama '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

Grafik -P pilihan untuk xargs(1) menetapkan jumlah paralel xz proses. Nilai terbaik untuk
itu -n pilihan tergantung pada berapa banyak file yang akan dikompresi. Jika hanya ada
beberapa file, nilainya mungkin harus 1; dengan puluhan ribu file, 100 atau
bahkan lebih mungkin tepat untuk mengurangi jumlah xz proses yang xargs(1) akan
akhirnya membuat.

Pilihan -T1 untuk xz apakah ada untuk memaksanya ke mode single-threaded, karena xargs(1) adalah
digunakan untuk mengontrol jumlah paralelisasi.

Robot mode
Hitung berapa banyak byte yang telah disimpan secara total setelah mengompresi banyak file:

xz --robot --list *.xz | awk '/^totals/{print $5-$4}'

Sebuah skrip mungkin ingin tahu bahwa itu menggunakan cukup baru xz. Pengikut sh(1) naskah
memeriksa bahwa nomor versi dari xz alat setidaknya 5.0.0. Metode ini adalah
kompatibel dengan versi beta lama, yang tidak mendukung --robot opsi:

jika ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; kemudian
echo "xz Anda terlalu tua."
fi
hapus XZ_VERSION LIBLZMA_VERSION

Tetapkan batas penggunaan memori untuk dekompresi menggunakan XZ_OPT, tetapi jika batas telah
atur, jangan tambah:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memori | potong -f3)
if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; kemudian
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
ekspor XZ_OPT
fi

Kustom kompresor menyaring rantai
Penggunaan paling sederhana untuk rantai filter khusus adalah menyesuaikan preset LZMA2. Ini bisa jadi
berguna, karena preset hanya mencakup sebagian dari kombinasi yang berpotensi berguna dari
pengaturan kompresi.

Kolom CompCPU dari tabel dari deskripsi opsi -0 ... -9 dan
--ekstrim berguna saat menyesuaikan preset LZMA2. Berikut adalah bagian yang relevan
dikumpulkan dari dua tabel tersebut:

CompCPU yang telah disetel sebelumnya
-0 0
-1 1
-2 2
-3 3
-4 4
-5 5
-6 6
-5e 7
-6e 8

Jika Anda tahu bahwa sebuah file memerlukan kamus yang agak besar (misalnya 32 MiB) untuk dikompres dengan baik,
tetapi Anda ingin mengompresnya lebih cepat dari xz -8 akan dilakukan, preset dengan nilai CompCPU rendah
(misalnya 1) dapat dimodifikasi untuk menggunakan kamus yang lebih besar:

xz --lzma2=preset=1,dict=32MiB foo.tar

Dengan file tertentu, perintah di atas mungkin lebih cepat daripada xz -6 saat mengompres
secara signifikan lebih baik. Namun, harus ditekankan bahwa hanya beberapa file yang diuntungkan dari a
kamus besar sambil menjaga nilai CompCPU tetap rendah. Situasi yang paling jelas, di mana
kamus besar dapat banyak membantu, adalah arsip yang berisi file yang sangat mirip setidaknya
beberapa megabyte masing-masing. Ukuran kamus harus jauh lebih besar daripada yang lain
file individual untuk memungkinkan LZMA2 memanfaatkan sepenuhnya kesamaan antara
file berturut-turut.

Jika penggunaan memori kompresor dan dekompresor yang sangat tinggi baik-baik saja, dan file menjadi
dikompresi setidaknya beberapa ratus megabyte, mungkin berguna untuk menggunakan yang lebih besar
kamus dari 64 MiB itu xz -9 akan menggunakan:

xz -vv --lzma2=dict=192MiB big_foo.tar

Menggunakan -vv (--bertele-tele --bertele-tele) seperti pada contoh di atas dapat berguna untuk melihat memori
kebutuhan kompresor dan dekompresor. Ingat bahwa menggunakan kamus lebih besar
daripada ukuran file yang tidak dikompresi adalah pemborosan memori, jadi perintah di atas tidak
berguna untuk file kecil.

Terkadang waktu kompresi tidak masalah, tetapi penggunaan memori dekompresor harus
tetap rendah misalnya untuk memungkinkan dekompresi file pada sistem tertanam. NS
perintah berikut menggunakan -6e (-6 --ekstrim) sebagai basis dan menyetel kamus menjadi hanya
64 KiB. File yang dihasilkan dapat didekompresi dengan XZ Embedded (itulah sebabnya ada
--cek=crc32) menggunakan sekitar 100 KiB memori.

xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo

Jika Anda ingin memeras byte sebanyak mungkin, sesuaikan jumlah literal
bit konteks (lc) dan jumlah bit posisi (pb) terkadang dapat membantu. Menyesuaikan
jumlah bit posisi literal (lp) mungkin membantu juga, tapi biasanya lc dan pb adalah lebih
penting. Misalnya arsip kode sumber sebagian besar berisi teks US-ASCII, jadi sesuatu seperti
berikut ini mungkin memberikan file yang sedikit (seperti 0.1%) lebih kecil dari xz -6e (coba juga tanpa
lc=4):

xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar

Menggunakan filter lain bersama dengan LZMA2 dapat meningkatkan kompresi dengan jenis file tertentu.
Misalnya untuk mengompresi pustaka bersama x86-32 atau x86-64 menggunakan filter x86 BCJ:

xz --x86 --lzma2 libfoo.so

Perhatikan bahwa urutan opsi filter itu penting. Jika --x86 ditentukan setelah
--lzma2, xz akan memberikan kesalahan, karena tidak ada filter setelah LZMA2, dan juga
karena filter x86 BCJ tidak dapat digunakan sebagai filter terakhir dalam rantai.

Filter Delta bersama dengan LZMA2 dapat memberikan hasil yang baik dengan gambar bitmap. Itu seharusnya
biasanya mengalahkan PNG, yang memiliki beberapa filter lebih canggih daripada delta sederhana tetapi menggunakan Deflate
untuk kompresi yang sebenarnya.

Gambar harus disimpan dalam format tidak terkompresi, misalnya sebagai TIFF tidak terkompresi. Jarak
parameter filter Delta diatur agar sesuai dengan jumlah byte per piksel pada gambar.
Misalnya kebutuhan bitmap RGB 24-bit jarak = 3, dan juga bagus untuk dilewati pb=0 ke LZMA2 ke
mengakomodasi penyelarasan tiga byte:

xz --delta=dist=3 --lzma2=pb=0 foo.tiff

Jika beberapa gambar telah dimasukkan ke dalam satu arsip (mis .ter), filter Delta akan
kerjakan itu juga selama semua gambar memiliki jumlah byte per piksel yang sama.

Gunakan xzcat online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad