GoGPT Best VPN GoSearch

OnWorks favicon

xzcat - ອອນໄລນ໌ຢູ່ໃນຄລາວ

ແລ່ນ xzcat ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ xzcat ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


xz, unxz, xzcat, lzma, unlzma, lzcat - ບີບອັດ ຫຼືບີບອັດໄຟລ໌ .xz ແລະ .lzma

ສະຫຼຸບສັງລວມ


xz [ທາງເລືອກ]... [ເອກະສານ] ...

unxz ເທົ່າກັບ xz -- ບີບອັດ.
xzcat ເທົ່າກັບ xz -- ບີບອັດ --stdout.
lzma ເທົ່າກັບ xz --format=lzma.
unlzma ເທົ່າກັບ xz --format=lzma -- ບີບອັດ.
lzcat ເທົ່າກັບ xz --format=lzma -- ບີບອັດ --stdout.

ເມື່ອຂຽນສະຄິບທີ່ຕ້ອງການ decompress ໄຟລ໌, ມັນແນະນໍາໃຫ້ໃຊ້ສະເຫມີ
ຊື່ xz ດ້ວຍການໂຕ້ຖຽງທີ່ເຫມາະສົມ (xz -d or xz -dc) ແທນ​ທີ່​ຈະ​ເປັນ​ຊື່​ unxz ແລະ xzcat.

ລາຍລະອຽດ


xz ເປັນເຄື່ອງມືບີບອັດຂໍ້ມູນທົ່ວໄປທີ່ມີ syntax ເສັ້ນຄໍາສັ່ງຄ້າຍຄືກັນກັບ gzip(1​)
ແລະ bzip2(1). ຮູບແບບໄຟລ໌ພື້ນເມືອງແມ່ນ .xz ຮູບແບບ, ແຕ່ມໍລະດົກ .lzma ຮູບ​ແບບ​ການ​ນໍາ​ໃຊ້​
ໂດຍ LZMA Utils ແລະກະແສບີບອັດດິບທີ່ບໍ່ມີສ່ວນຫົວຮູບແບບບັນຈຸ
ສະຫນັບສະຫນູນ.

xz compresses ຫຼື decompresses ແຕ່ລະຄົນ ເອກະສານ ອີງຕາມຮູບແບບການດໍາເນີນງານທີ່ເລືອກ. ຖ້າບໍ່ມີ
ໄຟ ແມ່ນໃຫ້ຫຼື ເອກະສານ is -, xz ອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ ແລະຂຽນຂໍ້ມູນທີ່ປະມວນຜົນແລ້ວ
ຜົນຜະລິດມາດຕະຖານ. xz ຈະປະຕິເສດ (ສະແດງຂໍ້ຜິດພາດແລະຂ້າມ ເອກະສານ) ຂຽນ
ຂໍ້ມູນທີ່ຖືກບີບອັດເປັນຜົນຜະລິດມາດຕະຖານຖ້າມັນເປັນ terminal. ເຊັ່ນດຽວກັນ, xz ຈະ​ປະ​ຕິ​ເສດ​ທີ່​ຈະ​ອ່ານ​
ບີບອັດຂໍ້ມູນຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານຖ້າມັນເປັນ terminal.

ເວັ້ນເສຍແຕ່ວ່າ --stdout ແມ່ນ​ລະ​ບຸ​ໄວ້​, ໄຟ ອື່ນກ່ວາ - ຖືກຂຽນໃສ່ໄຟລ໌ໃຫມ່ທີ່ມີຊື່
ໄດ້ມາຈາກແຫຼ່ງ ເອກະສານ ຊື່ຂອງທ່ານ:

· ໃນ​ເວ​ລາ​ທີ່​ການ​ບີບ​ອັດ​, ຄໍາ​ຕໍ່​ທ້າຍ​ຂອງ​ຮູບ​ແບບ​ໄຟລ​໌​ເປົ້າ​ຫມາຍ (.xz or .lzma) ຖືກ​ຕໍ່​ທ້າຍ​ກັບ​
ຊື່ໄຟລ໌ແຫຼ່ງເພື່ອໃຫ້ໄດ້ຮັບຊື່ໄຟລ໌ເປົ້າຫມາຍ.

· ເມື່ອ decompressing, ໄດ້ .xz or .lzma suffix ຖືກໂຍກຍ້າຍອອກຈາກຊື່ໄຟລ໌ເພື່ອໃຫ້ໄດ້ຮັບ
ຊື່ໄຟລ໌ເປົ້າຫມາຍ. xz ຍັງຮັບຮູ້ຄໍາຕໍ່ທ້າຍ .txz ແລະ .tlz, ແລະປ່ຽນແທນພວກມັນດ້ວຍ
ໄດ້ .tar បច្ច័យ.

ຖ້າໄຟລ໌ເປົ້າຫມາຍດັ່ງກ່າວມີຢູ່ແລ້ວ, ຂໍ້ຜິດພາດຈະຖືກສະແດງແລະ ເອກະສານ ຖືກຂ້າມ.

ເວັ້ນເສຍແຕ່ຈະຂຽນເປັນຜົນຜະລິດມາດຕະຖານ, xz ຈະສະແດງຄໍາເຕືອນແລະຂ້າມ ເອກະສານ ຖ້າມີ
ການນໍາໃຊ້ດັ່ງຕໍ່ໄປນີ້:

· ເອກະສານ ບໍ່ແມ່ນໄຟລ໌ປົກກະຕິ. ການເຊື່ອມໂຍງສັນຍາລັກບໍ່ໄດ້ຖືກປະຕິບັດຕາມ, ແລະດັ່ງນັ້ນພວກມັນບໍ່ແມ່ນ
ຖືວ່າເປັນໄຟລ໌ປົກກະຕິ.

· ເອກະສານ ມີຫຼາຍກວ່າຫນຶ່ງການເຊື່ອມຕໍ່ຍາກ.

· ເອກະສານ ມີ setuid, setgid, ຫຼືຊຸດບິດຫນຽວ.

· ໂຫມດການໃຊ້ງານຖືກຕັ້ງໃຫ້ບີບອັດ ແລະ ເອກະສານ ມີຄຳຕໍ່ທ້າຍຂອງເປົ້າໝາຍແລ້ວ
ຮູບແບບໄຟລ໌ (.xz or .txz ເມື່ອບີບອັດໃສ່ .xz ຮູບແບບ, ແລະ .lzma or .tlz ໃນເວລາທີ່
compressing ກັບ .lzma ຮູບແບບ).

· ຮູບແບບການໃຊ້ງານຖືກຕັ້ງໃຫ້ decompress ແລະໄດ້ ເອກະສານ ບໍ່ມີຄຳຕໍ່ທ້າຍຂອງອັນໃດອັນໜຶ່ງ
ຮູບ​ແບບ​ໄຟລ​໌​ສະ​ຫນັບ​ສະ​ຫນູນ (.xz, .txz, .lzma, ຫຼື .tlz).

ຫຼັງຈາກສໍາເລັດການບີບອັດຫຼື decompressing ໄດ້ ເອກະສານ, xz ສຳເນົາເຈົ້າຂອງ, ກຸ່ມ,
ການ​ອະ​ນຸ​ຍາດ​, ການ​ເຂົ້າ​ເຖິງ​, ແລະ​ເວ​ລາ​ການ​ດັດ​ແກ້​ຈາກ​ແຫຼ່ງ​ຂໍ້​ມູນ​ ເອກະສານ ໄປຫາໄຟລ໌ເປົ້າຫມາຍ.
ຖ້າການຄັດລອກກຸ່ມລົ້ມເຫລວ, ການອະນຸຍາດຈະຖືກດັດແກ້ເພື່ອບໍ່ໃຫ້ໄຟລ໌ເປົ້າຫມາຍດັ່ງກ່າວ
ກາຍເປັນຜູ້ໃຊ້ທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດໃຫ້ເຂົ້າເຖິງແຫຼ່ງ ເອກະສານ. xz
ບໍ່ຮອງຮັບການຄັດລອກເມຕາເດຕາອື່ນ ເຊັ່ນ: ລາຍຊື່ການຄວບຄຸມການເຂົ້າເຖິງ ຫຼືຄຸນສົມບັດເພີ່ມເຕີມ
yet

ເມື່ອໄຟລ໌ເປົ້າຫມາຍໄດ້ຖືກປິດສົບຜົນສໍາເລັດ, ແຫຼ່ງ ເອກະສານ ຖືກໂຍກຍ້າຍອອກເວັ້ນເສຍແຕ່
--ຮັກສາ ໄດ້​ລະ​ບຸ​ໄວ້​. ແຫຼ່ງ ເອກະສານ ບໍ່ເຄີຍຖືກໂຍກຍ້າຍອອກຖ້າຜົນຜະລິດຖືກຂຽນໃສ່
ຜົນຜະລິດມາດຕະຖານ.

ການສົ່ງອອກ ເຂົ້າສູ່ລະບົບ or SIGUSR1 ການ xz ຂະບວນການເຮັດໃຫ້ມັນພິມຂໍ້ມູນຄວາມຄືບຫນ້າໄປ
ຄວາມ​ຜິດ​ພາດ​ມາດ​ຕະ​ຖານ​. ນີ້ມີພຽງແຕ່ຈໍາກັດການນໍາໃຊ້ນັບຕັ້ງແຕ່ໃນເວລາທີ່ຄວາມຜິດພາດມາດຕະຖານເປັນ terminal, ການນໍາໃຊ້
-- verbose ຈະສະແດງຕົວຊີ້ບອກຄວາມຄືບໜ້າຂອງການປັບປຸງອັດຕະໂນມັດ.

ຫນ່ວຍຄວາມຈໍາ ການນໍາໃຊ້
ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ​ຂອງ​ xz ແຕກຕ່າງກັນຈາກສອງສາມຮ້ອຍກິໂລໄບເຖິງຫຼາຍກິກາໄບໂດຍຂຶ້ນກັບ
ກ່ຽວກັບການຕັ້ງຄ່າການບີບອັດ. ການ​ຕັ້ງ​ຄ່າ​ການ​ນໍາ​ໃຊ້​ໃນ​ເວ​ລາ​ທີ່​ການ​ບີບ​ອັດ​ໄຟລ​໌​ກໍາ​ນົດ​
ຄວາມຕ້ອງການຄວາມຊົງຈໍາຂອງ decompressor. ໂດຍປົກກະຕິ decompressor ຕ້ອງການ 5% ຫາ 20% ຂອງ
ຈໍານວນຫນ່ວຍຄວາມຈໍາທີ່ compressor ຕ້ອງການໃນເວລາສ້າງໄຟລ໌. ຍົກ​ຕົວ​ຢ່າງ,
decompressing ໄຟລ໌ທີ່ສ້າງຂຶ້ນດ້ວຍ xz -9 ໃນປັດຈຸບັນຕ້ອງການ 65 MiB ຂອງຫນ່ວຍຄວາມຈໍາ. ຍັງ, ມັນແມ່ນ
ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ມີ​ .xz ໄຟລ໌ທີ່ຕ້ອງການຄວາມຈໍາຫຼາຍກິກາໄບເພື່ອ decompress.

ໂດຍສະເພາະຜູ້ໃຊ້ຂອງລະບົບເກົ່າອາດຈະຊອກຫາຄວາມເປັນໄປໄດ້ຂອງການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂະຫນາດໃຫຍ່ຫຼາຍ
ລໍາຄານ. ເພື່ອປ້ອງກັນຄວາມແປກໃຈທີ່ບໍ່ສະບາຍ, xz ມີຕົວຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາໃນຕົວ,
ເຊິ່ງຖືກປິດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ. ໃນຂະນະທີ່ບາງລະບົບປະຕິບັດການສະຫນອງວິທີການຈໍາກັດການ
ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ​ຂອງ​ຂະ​ບວນ​ການ​, ການ​ອີງ​ໃສ່​ມັນ​ບໍ່​ໄດ້​ຖື​ວ່າ​ຈະ​ມີ​ຄວາມ​ຍືດຫຍຸ່ນ​ພຽງ​ພໍ (ເຊັ່ນ​: ການ​ນໍາ​ໃຊ້​
ສູງສຸດ(1​) ການ​ຈໍາ​ກັດ​ຄວາມ​ຊົງ​ຈໍາ virtual ມີ​ແນວ​ໂນ້ມ​ທີ່​ຈະ cripple​ ແຜນທີ່(2)).

ສາມາດເປີດໃຊ້ຕົວຈຳກັດການໃຊ້ຄວາມຈຳໄດ້ດ້ວຍຕົວເລືອກແຖວຄຳສັ່ງ --memlimit=ກໍານົດຂອບເຂດ.
ເລື້ອຍໆມັນສະດວກກວ່າທີ່ຈະເປີດໃຊ້ຕົວຈໍາກັດໂດຍຄ່າເລີ່ມຕົ້ນໂດຍການຕັ້ງຄ່າສະພາບແວດລ້ອມ
ຕົວແປ XZ_DEFAULTS, ຕົວຢ່າງ XZ_DEFAULTS=--memlimit=150MiB. ມັນເປັນໄປໄດ້ທີ່ຈະກໍານົດ
ຈໍາກັດແຍກຕ່າງຫາກສໍາລັບການບີບອັດແລະ decompression ໂດຍການນໍາໃຊ້ --memlimit-compress=ກໍານົດຂອບເຂດ ແລະ
--memlimit-decompress=ກໍານົດຂອບເຂດ. ການນໍາໃຊ້ສອງທາງເລືອກນີ້ຢູ່ນອກ XZ_DEFAULTS ບໍ່ຄ່ອຍເປັນປະໂຫຍດ
ເນື່ອງຈາກວ່າໄລຍະດຽວຂອງ xz ບໍ່​ສາ​ມາດ​ເຮັດ​ໄດ້​ທັງ compression ແລະ decompression ແລະ​
--memlimit=ກໍານົດຂອບເຂດ (ຫຼື -M ກໍານົດຂອບເຂດ) ແມ່ນສັ້ນກວ່າທີ່ຈະພິມຢູ່ໃນເສັ້ນຄໍາສັ່ງ.

ຖ້າ​ຫາກ​ວ່າ​ກໍາ​ນົດ​ການ​ນໍາ​ໃຊ້​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທີ່​ກໍາ​ນົດ​ໄວ້​ເກີນ​ໄປ​ໃນ​ເວ​ລາ​ທີ່​ການ​ບີບ​ອັດ​, xz ຈະສະແດງເປັນ
ຄວາມຜິດພາດແລະການບີບອັດໄຟລ໌ຈະລົ້ມເຫລວ. ຖ້າເກີນຂອບເຂດຈໍາກັດໃນເວລາບີບອັດ, xz
ຈະພະຍາຍາມປັບຂະໜາດການຕັ້ງຄ່າລົງເພື່ອບໍ່ໃຫ້ເກີນຂີດຈຳກັດ (ຍົກເວັ້ນເວລາ
ການນໍາໃຊ້ --format=raw or --no-ປັບ). ດ້ວຍວິທີນີ້, ການປະຕິບັດງານຈະບໍ່ລົ້ມເຫລວເວັ້ນເສຍແຕ່ວ່າມີຂອບເຂດຈໍາກັດ
ຂະ​ຫນາດ​ນ້ອຍ​ຫຼາຍ. ການປັບຂະໜາດຂອງການຕັ້ງຄ່າແມ່ນເຮັດໃນຂັ້ນຕອນທີ່ບໍ່ກົງກັບການບີບອັດ
presets ລະດັບ, e.g. ຖ້າຫາກວ່າຂອບເຂດຈໍາກັດແມ່ນພຽງແຕ່ເລັກນ້ອຍຫນ້ອຍກ່ວາຈໍານວນທີ່ກໍານົດໄວ້ສໍາລັບການ xz -9,
ການ​ຕັ້ງ​ຄ່າ​ຈະ​ໄດ້​ຮັບ​ການ​ຫຼຸດ​ລົງ​ພຽງ​ເລັກ​ນ້ອຍ​, ບໍ່​ແມ່ນ​ທັງ​ຫມົດ​ວິ​ທີ​ການ​ລົງ​ໄປ​ xz -8.

ການສະຫລຸບ ແລະ padding ກັບ .xz ໄຟ
ມັນເປັນໄປໄດ້ທີ່ຈະ concatenate .xz ໄຟລ​໌​ເຊັ່ນ​ດຽວ​ກັນ​. xz ຈະບີບອັດໄຟລ໌ດັ່ງກ່າວຄືກັບວ່າພວກມັນ
ເປັນໂສດ .xz ຍື່ນ.

ມັນເປັນໄປໄດ້ທີ່ຈະໃສ່ padding ລະຫວ່າງພາກສ່ວນ concatenated ຫຼືຫຼັງຈາກພາກສ່ວນສຸດທ້າຍ.
padding ຈະຕ້ອງປະກອບດ້ວຍ bytes null ແລະຂະຫນາດຂອງ padding ຈະຕ້ອງເປັນຄູນຂອງ
ສີ່ bytes. ນີ້ສາມາດເປັນປະໂຫຍດເຊັ່ນ: ຖ້າຫາກວ່າ .xz ໄຟລ໌ຖືກເກັບໄວ້ໃນສື່ທີ່ວັດແທກ
ຂະຫນາດໄຟລ໌ໃນ 512-byte blocks.

ບໍ່ອະນຸຍາດໃຫ້ມີການເຊື່ອມໂຍງ ແລະແຜ່ນຮອງ .lzma ໄຟລ໌ ຫຼືກະແສດິບ.

OPTIONS


Integer បច្ច័យ ແລະ ພິເສດ ຄ່າ
ໃນສະຖານທີ່ສ່ວນໃຫຍ່ທີ່ຄາດວ່າຈະມີການໂຕ້ຖຽງຈໍານວນເຕັມ, ຄໍາຕໍ່ທ້າຍທາງເລືອກແມ່ນສະຫນັບສະຫນູນ
ຊີ້ບອກຕົວເລກໃຫຍ່ໄດ້ຢ່າງງ່າຍດາຍ. ຈະຕ້ອງບໍ່ມີຊ່ອງຫວ່າງລະຫວ່າງຈໍານວນເຕັມແລະຈໍານວນ
បច្ច័យ.

ກິບ ຄູນຈຳນວນເຕັມດ້ວຍ 1,024 (2^10). Ki, k, kB, K, ແລະ KB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ ກິບ.

ອີບ ຄູນຈຳນວນເຕັມດ້ວຍ 1,048,576 (2^20). Mi, m, M, ແລະ MB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ ອີບ.

GiB ຄູນຈຳນວນເຕັມດ້ວຍ 1,073,741,824 (2^30). Gi, g, G, ແລະ GB ຖືກຍອມຮັບເປັນ
ຄຳ ສັບຄ້າຍຄືກັນ ສຳ ລັບ GiB.

ມູນຄ່າພິເສດ ສູງສຸດທີ່ເຄຍ ສາມາດໃຊ້ເພື່ອຊີ້ບອກຄ່າຈໍານວນເຕັມສູງສຸດທີ່ສະຫນັບສະຫນູນໂດຍ
ທາງເລືອກ.

ການດໍາເນີນງານ ຮູບແບບການ
ຖ້າ​ຫາກ​ວ່າ​ທາງ​ເລືອກ​ຮູບ​ແບບ​ການ​ດໍາ​ເນີນ​ງານ​ຫຼາຍ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ໃຫ້​, ອັນ​ສຸດ​ທ້າຍ​ມີ​ຜົນ​ກະ​ທົບ​.

-z, --ບີບອັດ
ບີບອັດ. ນີ້​ແມ່ນ​ຮູບ​ແບບ​ການ​ດໍາ​ເນີນ​ງານ​ໃນ​ຕອນ​ຕົ້ນ​ໃນ​ເວ​ລາ​ທີ່​ບໍ່​ມີ​ທາງ​ເລືອກ​ຮູບ​ແບບ​ການ​ດໍາ​ເນີນ​ງານ​ແມ່ນ​
ກໍານົດແລະບໍ່ມີຮູບແບບການດໍາເນີນການອື່ນແມ່ນ implied ຈາກຊື່ຄໍາສັ່ງ (ສໍາລັບ
ຍົກຕົວຢ່າງ, unxz implies -- ບີບອັດ).

-d, -- ບີບອັດ, -- uncompress
ບີບອັດ.

-t, --ທົດສອບ
ທົດສອບຄວາມສົມບູນຂອງການບີບອັດ ໄຟ. ທາງເລືອກນີ້ແມ່ນທຽບເທົ່າກັບ -- ບີບອັດ
--stdout ຍົກ​ເວັ້ນ​ຂໍ້​ມູນ​ທີ່​ຖືກ​ບີບ​ອັດ​ຖືກ​ຍົກ​ເລີກ​ແທນ​ທີ່​ຈະ​ຖືກ​ຂຽນ​ໃສ່
ຜົນຜະລິດມາດຕະຖານ. ບໍ່ມີໄຟລ໌ໃດຖືກສ້າງ ຫຼືລຶບອອກ.

-l, --ລາຍການ
ພິມຂໍ້ມູນກ່ຽວກັບການບີບອັດ ໄຟ. ບໍ່ມີຜົນຜະລິດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນຜະລິດ, ແລະ
ບໍ່ມີໄຟລ໌ໃດຖືກສ້າງ ຫຼືລຶບອອກ. ໃນ​ຮູບ​ແບບ​ລາຍ​ການ​, ໂຄງ​ການ​ບໍ່​ສາ​ມາດ​ອ່ານ​ໄດ້​
ບີບອັດຂໍ້ມູນຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ ຫຼືຈາກແຫຼ່ງອື່ນໆທີ່ບໍ່ສາມາດຊອກຫາໄດ້.

ບັນຊີລາຍຊື່ເລີ່ມຕົ້ນສະແດງໃຫ້ເຫັນຂໍ້ມູນພື້ນຖານກ່ຽວກັບ ໄຟ, ຫນຶ່ງໄຟລ໌ຕໍ່ແຖວ. ໄດ້​ຮັບ
ຂໍ້​ມູນ​ລະ​ອຽດ​ເພີ່ມ​ເຕີມ​, ການ​ນໍາ​ໃຊ້​ຍັງ​ໄດ້​ -- verbose ທາງເລືອກ. ສໍາລັບແມ້ກະທັ້ງຫຼາຍ
ຂໍ້​ມູນ​, ການ​ນໍາ​ໃຊ້​ -- verbose ສອງຄັ້ງ, ແຕ່ສັງເກດວ່ານີ້ອາດຈະຊ້າ, ເນື່ອງຈາກວ່າໄດ້ຮັບ
ຂໍ້​ມູນ​ເພີ່ມ​ເຕີມ​ທັງ​ຫມົດ​ຮຽກ​ຮ້ອງ​ໃຫ້​ມີ​ການ​ຊອກ​ຫາ​ຫຼາຍ​. ຄວາມກວ້າງຂອງຜົນຜະລິດ verbose ເກີນ
80 ຕົວ​ອັກ​ສອນ​, ສະ​ນັ້ນ piping ຜົນ​ຜະ​ລິດ​ເພື່ອ eg ຫນ້ອຍ -S ອາດຈະສະດວກຖ້າຫາກວ່າ
terminal ບໍ່ກວ້າງພຽງພໍ.

ຜົນຜະລິດທີ່ແນ່ນອນອາດຈະແຕກຕ່າງກັນລະຫວ່າງ xz ສະ​ບັບ​ແລະ​ທ້ອງ​ຖິ່ນ​ທີ່​ແຕກ​ຕ່າງ​ກັນ​. ສໍາ​ລັບ​ເຄື່ອງ​ຈັກ -
ຜົນ​ຜະ​ລິດ​ທີ່​ສາ​ມາດ​ອ່ານ​ໄດ້​, -- ຫຸ່ນຍົນ --ລາຍການ ຄວນຈະຖືກນໍາໃຊ້.

ການດໍາເນີນງານ ຕົວປ່ຽນແປງ
-k, --ຮັກສາ
ຢ່າລຶບໄຟລ໌ປ້ອນຂໍ້ມູນ.

-f, --ກຳລັງ
ທາງເລືອກນີ້ມີຜົນກະທົບຫຼາຍ:

· ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌​ເປົ້າ​ຫມາຍ​ມີ​ຢູ່​ແລ້ວ​, ລຶບ​ມັນ​ກ່ອນ​ທີ່​ຈະ​ບີບ​ອັດ​ຫຼື​
ການບີບອັດ.

·ບີບອັດຫຼື decompress ເຖິງແມ່ນວ່າການປ້ອນຂໍ້ມູນແມ່ນການເຊື່ອມຕໍ່ສັນຍາລັກກັບໄຟລ໌ປົກກະຕິ,
ມີຫຼາຍກວ່າຫນຶ່ງເຊື່ອມຕໍ່ຍາກ, ຫຼືມີ setuid, setgid, ຫຼືຊຸດບິດຫນຽວ. ໄດ້
setuid, setgid, ແລະ sticky bits ບໍ່ໄດ້ຖືກຄັດລອກໄປຫາໄຟລ໌ເປົ້າຫມາຍ.

· ເມື່ອໃຊ້ກັບ -- ບີບອັດ --stdout ແລະ xz ບໍ່ສາມາດຮັບຮູ້ປະເພດຂອງ
ໄຟລ໌ແຫຼ່ງ, ຄັດລອກໄຟລ໌ແຫຼ່ງທີ່ເປັນຜົນຜະລິດມາດຕະຖານ. ນີ້ອະນຸຍາດໃຫ້ xzcat
--ກຳລັງ ຈະ​ຖືກ​ນໍາ​ໃຊ້​ຄື​ cat(1) ສໍາລັບໄຟລ໌ທີ່ຍັງບໍ່ໄດ້ຖືກບີບອັດດ້ວຍ xz.
ໃຫ້ສັງເກດວ່າໃນອະນາຄົດ, xz ອາດຈະສະຫນັບສະຫນູນຮູບແບບໄຟລ໌ທີ່ຖືກບີບອັດໃຫມ່, ເຊິ່ງອາດຈະ
ເຮັດໃຫ້ xz decompress ຫຼາຍປະເພດຂອງໄຟລ໌ແທນທີ່ຈະຄັດລອກໃຫ້ເຂົາເຈົ້າເປັນມາດຕະຖານ
ຜົນຜະລິດ. --format=ຮູບແບບ ສາມາດຖືກນໍາໃຊ້ເພື່ອຈໍາກັດ xz ເພື່ອ decompress ພຽງແຕ່ອັນດຽວ
ຮູບແບບໄຟລ໌.

-c, --stdout, --to-stdout
ຂຽນ​ຂໍ້​ມູນ​ທີ່​ບີບ​ອັດ​ຫຼື decompressed ເປັນ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​ແທນ​ທີ່​ຈະ​ເປັນ​ໄຟລ​໌​.
ນີ້ຫມາຍຄວາມວ່າ --ຮັກສາ.

-- ກະແສດຽວ
Decompress ພຽງແຕ່ຄັ້ງທໍາອິດ .xz stream, ແລະງຽບໆບໍ່ສົນໃຈ input ທີ່ຍັງເຫຼືອທີ່ເປັນໄປໄດ້
ຂໍ້ມູນຕາມກະແສ. ໂດຍປົກກະຕິ, ຂີ້ເຫຍື້ອດັ່ງກ່າວເຮັດໃຫ້ xz ສະແດງ
ຜິດພາດ.

xz ບໍ່ເຄີຍ decompresses ຫຼາຍກ່ວາຫນຶ່ງນ້ໍາຈາກ .lzma ໄຟລ໌ຫຼືນ້ໍາດິບ, ແຕ່
ທາງເລືອກນີ້ຍັງເຮັດໃຫ້ xz ບໍ່ສົນໃຈຂໍ້ມູນ trailing ທີ່ເປັນໄປໄດ້ຫຼັງຈາກ .lzma ເອກະສານ
ຫຼືກະແສດິບ.

ທາງ​ເລືອກ​ນີ້​ບໍ່​ມີ​ຜົນ​ກະ​ທົບ​ຖ້າ​ຫາກ​ວ່າ​ຮູບ​ແບບ​ການ​ດໍາ​ເນີນ​ງານ​ບໍ່​ແມ່ນ​ -- ບີບອັດ or --ທົດສອບ.

-- ບໍ່ມີກະແຈກກະຈາຍ
ປິດ​ການ​ທໍາ​ງານ​ການ​ສ້າງ​ໄຟລ​໌ sparse​. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຖ້າ decompressing ເຂົ້າໄປໃນປົກກະຕິ
ແຟ້ມ, xz ພະຍາຍາມເຮັດໃຫ້ໄຟລ໌ກະແຈກກະຈາຍຖ້າຫາກວ່າຂໍ້ມູນທີ່ decompressed ມີຄວາມຍາວ
ລຳດັບຂອງສູນຖານສອງ. ມັນຍັງເຮັດວຽກໃນເວລາທີ່ຂຽນກັບຜົນຜະລິດມາດຕະຖານຍາວ
ເນື່ອງຈາກຜົນຜະລິດມາດຕະຖານແມ່ນເຊື່ອມຕໍ່ກັບໄຟລ໌ປົກກະຕິແລະເງື່ອນໄຂເພີ່ມເຕີມທີ່ແນ່ນອນ
ຖືກພົບເພື່ອເຮັດໃຫ້ມັນປອດໄພ. ການສ້າງໄຟລ໌ກະແຈກກະຈາຍອາດຈະປະຫຍັດພື້ນທີ່ດິສກ໌ແລະເລັ່ງ
decompression ໂດຍການຫຼຸດປະລິມານຂອງແຜ່ນ I/O.

-S .suf, --suffix=.suf
ເມື່ອບີບອັດ, ໃຊ້ .suf ເປັນ suffix ສໍາລັບໄຟລ໌ເປົ້າຫມາຍແທນທີ່ຈະເປັນ .xz or
.lzma. ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ຂຽນ​ເຖິງ​ຜົນ​ຜະ​ລິດ​ມາດ​ຕະ​ຖານ​ແລະ​ໄຟລ​໌​ແຫຼ່ງ​ທີ່​ມີ​ຢູ່​ແລ້ວ​
បច្ច័យ .suf, ການ​ເຕືອນ​ໄພ​ຈະ​ສະ​ແດງ​ແລະ​ໄຟລ​໌​ໄດ້​ຖືກ​ຂ້າມ​ໄປ​.

ໃນເວລາທີ່ decompressing, ຮັບຮູ້ໄຟລ໌ທີ່ມີ suffix .suf ນອກເຫນືອໄປຈາກໄຟລ໌ທີ່ມີ
ໄດ້ .xz, .txz, .lzma, ຫຼື .tlz ຕໍ່ທ້າຍ. ຖ້າໄຟລ໌ຕົ້ນສະບັບມີຄໍາຕໍ່ທ້າຍ .suf, ການ
suffix ຖືກໂຍກຍ້າຍອອກເພື່ອໃຫ້ໄດ້ຮັບຊື່ໄຟລ໌ເປົ້າຫມາຍ.

ເມື່ອບີບອັດ ຫຼື ບີບອັດກະແສນໍ້າດິບ (--format=raw), ຄໍາຕໍ່ທ້າຍຕ້ອງ
ຈະຖືກລະບຸສະເໝີເວັ້ນເສຍແຕ່ຈະຂຽນໃສ່ຜົນໄດ້ຮັບມາດຕະຖານ, ເພາະວ່າບໍ່ມີຄ່າເລີ່ມຕົ້ນ
suffix ສໍາລັບນ້ໍາດິບ.

--ໄຟລ໌[=ເອກະສານ]
ອ່ານຊື່ໄຟລ໌ເພື່ອປະມວນຜົນຈາກ ເອກະສານ; ຖ້າ ເອກະສານ ຖືກລະເວັ້ນ, ຊື່ໄຟລ໌ຖືກອ່ານ
ຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຊື່ໄຟລ໌ຕ້ອງຖືກຢຸດດ້ວຍຕົວອັກສອນແຖວໃໝ່. ກ
ຂີດ (-) ຖືກປະຕິບັດເປັນຊື່ໄຟລ໌ປົກກະຕິ; ມັນບໍ່ໄດ້ຫມາຍຄວາມວ່າການປ້ອນຂໍ້ມູນມາດຕະຖານ. ຖ້າ
ຊື່ໄຟລ໌ໄດ້ຖືກມອບໃຫ້ຍັງເປັນການໂຕ້ຖຽງແຖວຄໍາສັ່ງ, ພວກມັນຖືກປຸງແຕ່ງກ່ອນ
ຊື່ໄຟລ໌ອ່ານຈາກ ເອກະສານ.

--files0[=ເອກະສານ]
ນີ້ແມ່ນຄືກັນກັບ --ໄຟລ໌[=ເອກະສານ] ຍົກເວັ້ນແຕ່ລະຊື່ໄຟລ໌ຈະຕ້ອງຖືກຍົກເລີກ
ດ້ວຍຕົວອັກສອນ null.

ພື້ນຖານ ເອກະສານ ຮູບແບບ ແລະ compression ທາງເລືອກໃນການ
-F ຮູບແບບ, --format=ຮູບແບບ
ລະບຸໄຟລ໌ ຮູບແບບ ເພື່ອບີບອັດຫຼືບີບອັດ:

ອັດຕະໂນມັດ ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເມື່ອບີບອັດ, ອັດຕະໂນມັດ ເທົ່າກັບ xzທີ່ຢູ່ ເມື່ອ​ໃດ​
decompressing, ຮູບແບບຂອງໄຟລ໌ປ້ອນຂໍ້ມູນຖືກກວດພົບໂດຍອັດຕະໂນມັດ. ຫມາຍ​ເຫດ​
ນ້ໍາດິບ (ສ້າງດ້ວຍ --format=raw) ບໍ່​ສາ​ມາດ​ຖືກ​ກວດ​ພົບ​ອັດ​ຕະ​ໂນ​ມັດ​.

xz ບີບອັດໃສ່ .xz ຮູບແບບໄຟລ໌, ຫຼືຍອມຮັບພຽງແຕ່ .xz ໄຟລ໌ເມື່ອ
ການບີບອັດ.

lzma, ຢູ່ຄົນດຽວ
ບີບອັດໃສ່ກັບມໍລະດົກ .lzma ຮູບແບບໄຟລ໌, ຫຼືຍອມຮັບພຽງແຕ່ .lzma ໄຟລ໌ເມື່ອ
ການບີບອັດ. ຊື່ທາງເລືອກ ຢູ່ຄົນດຽວ ແມ່ນສະຫນອງໃຫ້ສໍາລັບການຖອຍຫລັງ
ຄວາມເຂົ້າກັນໄດ້ກັບ LZMA Utils.

ວັດຖຸດິບ ບີບອັດ ຫຼື ບີບອັດກະແສນໍ້າດິບ (ບໍ່ມີສ່ວນຫົວ). ນີ້ແມ່ນຫມາຍເຖິງ
ຜູ້ໃຊ້ຂັ້ນສູງເທົ່ານັ້ນ. ເພື່ອຖອດລະຫັດນ້ໍາດິບ, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ --format=raw ແລະ
ລະ​ບຸ​ຢ່າງ​ຊັດ​ເຈນ​ລະ​ບົບ​ຕ່ອງ​ໂສ້​ການ​ກັ່ນ​ຕອງ​, ທີ່​ປົກ​ກະ​ຕິ​ຈະ​ໄດ້​ຮັບ​ການ​ເກັບ​ຮັກ​ສາ​ໄວ້​
ຢູ່ໃນຫົວບັນຈຸ.

-C ໃຫ້​ກວດ​ເບິ່ງ, --check=ໃຫ້​ກວດ​ເບິ່ງ
ລະບຸປະເພດຂອງການກວດສອບຄວາມສົມບູນ. ການກວດສອບແມ່ນຄິດໄລ່ຈາກ
uncompressed ຂໍ້​ມູນ​ແລະ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ .xz ໄຟລ໌. ຕົວເລືອກນີ້ມີຜົນກະທົບພຽງແຕ່ເມື່ອ
compressing ເຂົ້າໄປໃນ .xz ຮູບແບບ; ໄດ້ .lzma ຮູບແບບບໍ່ຮອງຮັບການກວດສອບຄວາມສົມບູນ.
ການກວດສອບຄວາມສົມບູນ (ຖ້າມີ) ຖືກກວດສອບເມື່ອ .xz ໄຟລ໌ຖືກບີບອັດ.

ສະຫນັບສະຫນູນ ໃຫ້​ກວດ​ເບິ່ງ ປະເພດ:

none ຢ່າຄິດໄລ່ການກວດສອບຄວາມສົມບູນ. ນີ້ມັກຈະເປັນຄວາມຄິດທີ່ບໍ່ດີ.
ນີ້ສາມາດເປັນປະໂຫຍດເມື່ອຄວາມສົມບູນຂອງຂໍ້ມູນຖືກກວດສອບໂດຍວິທີອື່ນ
ຢ່າງໃດກໍ່ຕາມ.

crc32 ຄິດໄລ່ CRC32 ໂດຍໃຊ້ polynomial ຈາກ IEEE-802.3 (Ethernet).

crc64 ຄິດໄລ່ CRC64 ໂດຍໃຊ້ polynomial ຈາກ ECMA-182. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ,
ເນື່ອງຈາກວ່າມັນດີກວ່າ CRC32 ເລັກນ້ອຍໃນການກວດສອບໄຟລ໌ທີ່ເສຍຫາຍແລະ
ຄວາມ​ແຕກ​ຕ່າງ​ຄວາມ​ໄວ​ແມ່ນ​ລະ​ເລີຍ​.

sha256 ຄິດໄລ່ SHA-256. ນີ້ແມ່ນຂ້ອນຂ້າງຊ້າກວ່າ CRC32 ແລະ CRC64.

ຄວາມຊື່ສັດຂອງ .xz ສ່ວນຫົວແມ່ນຖືກກວດສອບສະເໝີດ້ວຍ CRC32. ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະ
ປ່ຽນ ຫຼືປິດການໃຊ້ງານມັນ.

-0 ... -9
ເລືອກລະດັບການບີບອັດທີ່ຕັ້ງໄວ້ລ່ວງໜ້າ. ຄ່າເລີ່ມຕົ້ນແມ່ນ -6. ຖ້າຫຼາຍລະດັບ preset
ຖືກລະບຸໄວ້, ອັນສຸດທ້າຍຈະມີຜົນ. ຖ້າຕ່ອງໂສ້ການກັ່ນຕອງແບບກຳນົດເອງແມ່ນຢູ່ແລ້ວ
ລະບຸໄວ້, ການຕັ້ງຄ່າລະດັບການບີບອັດ presets ລ້າງຕ່ອງໂສ້ການກັ່ນຕອງແບບກຳນົດເອງ.

ຄວາມແຕກຕ່າງລະຫວ່າງ presets ແມ່ນມີຄວາມ ສຳ ຄັນຫຼາຍກ່ວາກັບ gzip(1) ແລະ
bzip2(1). ການຕັ້ງຄ່າການບີບອັດທີ່ເລືອກກໍານົດຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງ
decompressor, ດັ່ງນັ້ນການນໍາໃຊ້ລະດັບ preset ສູງເກີນໄປອາດຈະເຮັດໃຫ້ມັນເຈັບປວດກັບ
decompress ໄຟລ໌ໃນລະບົບເກົ່າທີ່ມີ RAM ຫນ້ອຍ. ໂດຍສະເພາະ, ມັນ ບໍ່ a
ດີ ຄວາມຄິດ to ຕາບອດ ການນໍາໃຊ້ -9 ສໍາລັບການ ທຸກສິ່ງທຸກຢ່າງ ຄືມັນມັກຈະຢູ່ກັບ gzip(1) ແລະ
bzip2(1).

-0 ... -3
ເຫຼົ່ານີ້ແມ່ນ presets ໄວເລັກນ້ອຍ. -0 ບາງຄັ້ງກໍ່ໄວກວ່າ gzip -9 ໃນຂະນະທີ່
compressing ດີກວ່າຫຼາຍ. ຕົວທີ່ສູງກວ່າມັກຈະມີຄວາມໄວທຽບເທົ່າກັບ
bzip2(1) ດ້ວຍອັດຕາສ່ວນການບີບອັດທີ່ປຽບທຽບຫຼືດີກວ່າ, ເຖິງແມ່ນວ່າຜົນໄດ້ຮັບ
ຂຶ້ນກັບຫຼາຍປະເພດຂອງຂໍ້ມູນທີ່ຖືກບີບອັດ.

-4 ... -6
ການບີບອັດທີ່ດີເຖິງດີຫຼາຍໃນຂະນະທີ່ຮັກສາການໃຊ້ຄວາມຊົງຈໍາ decompressor
ສົມເຫດສົມຜົນເຖິງແມ່ນວ່າສໍາລັບລະບົບເກົ່າ. -6 ແມ່ນຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງປົກກະຕິແລ້ວເປັນສິ່ງທີ່ດີ
ທາງ​ເລືອກ eg ສໍາ​ລັບ​ການ​ແຈກ​ຢາຍ​ໄຟລ​໌​ທີ່​ຈໍາ​ເປັນ​ຕ້ອງ decompressible ເຖິງ​ແມ່ນ​ວ່າ​ສຸດ​
ລະບົບທີ່ມີ RAM 16 MiB ເທົ່ານັ້ນ. (-5e or -6e ອາດຈະມີມູນຄ່າພິຈາລະນາເຊັ່ນກັນ.
ເບິ່ງ -- ທີ່ສຸດ.)

-7 ... -9
ເຫຼົ່ານີ້ແມ່ນຄ້າຍຄື -6 ແຕ່ມີ compressor ສູງແລະ decompressor memory
ຄວາມຕ້ອງການ. ເຫຼົ່ານີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ໃນເວລາທີ່ບີບອັດໄຟລ໌ຂະຫນາດໃຫຍ່ກວ່າ
8 MiB, 16 MiB, ແລະ 32 MiB, ຕາມລໍາດັບ.

ໃນຮາດແວດຽວກັນ, ຄວາມໄວ decompression ແມ່ນປະມານຈໍານວນຄົງທີ່ຂອງ
bytes ຂອງຂໍ້ມູນທີ່ບີບອັດຕໍ່ວິນາທີ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ການບີບອັດທີ່ດີກວ່າ,
ປົກກະຕິແລ້ວການບີບອັດຈະໄວຂຶ້ນ. ນີ້ຍັງຫມາຍຄວາມວ່າຈໍານວນຂອງ
ຜົນຜະລິດທີ່ບໍ່ໄດ້ບີບອັດທີ່ຜະລິດຕໍ່ວິນາທີສາມາດແຕກຕ່າງກັນຫຼາຍ.

ຕາຕະລາງຕໍ່ໄປນີ້ສະຫຼຸບລັກສະນະຂອງ presets:

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

ຄຳອະທິບາຍຖັນ:

· DictSize ແມ່ນຂະຫນາດວັດຈະນານຸກົມ LZMA2. ມັນເປັນການສູນເສຍຄວາມຊົງຈໍາທີ່ຈະໃຊ້ a
ວັດຈະນານຸກົມໃຫຍ່ກວ່າຂະໜາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດ. ນີ້ແມ່ນເຫດຜົນທີ່ວ່າມັນເປັນ
ດີທີ່ຈະຫຼີກເວັ້ນການນໍາໃຊ້ presets ໄດ້ -7 ... -9 ໃນເວລາທີ່ບໍ່ມີຄວາມຕ້ອງການທີ່ແທ້ຈິງສໍາລັບພວກເຂົາ.
At -6 ແລະຕ່ໍາກວ່າ, ປະລິມານຂອງຄວາມຊົງຈໍາ wasted ປົກກະຕິແລ້ວແມ່ນຕ່ໍາພຽງພໍທີ່ຈະບໍ່
ເລື່ອງ.

· CompCPU ແມ່ນການເປັນຕົວແທນທີ່ງ່າຍດາຍຂອງການຕັ້ງຄ່າ LZMA2 ທີ່ມີຜົນກະທົບ
ຄວາມໄວການບີບອັດ. ຂະ​ຫນາດ​ວັດ​ຈະ​ນາ​ນຸ​ກົມ​ມີ​ຜົນ​ກະ​ທົບ​ຄວາມ​ໄວ​ເຊັ່ນ​ດຽວ​ກັນ​, ສະ​ນັ້ນ​ໃນ​ຂະ​ນະ​ທີ່ CompCPU ແມ່ນ​
ດຽວກັນສໍາລັບລະດັບ -6 ... -9, ລະດັບທີ່ສູງຂຶ້ນຍັງມີແນວໂນ້ມທີ່ຈະຊ້າລົງເລັກນ້ອຍ.
ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ເຖິງ​ແມ່ນ​ວ່າ​ຊ້າ​ລົງ​ແລະ​ດັ່ງ​ນັ້ນ​ການ​ບີບ​ອັດ​ທີ່​ດີກ​ວ່າ​, ເບິ່ງ​ -- ທີ່ສຸດ.

· CompMem ມີຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງເຄື່ອງອັດຢູ່ໃນໂຫມດກະທູ້ດຽວ.
ມັນອາດຈະແຕກຕ່າງກັນເລັກນ້ອຍລະຫວ່າງ xz ສະບັບ. ຄວາມ​ຕ້ອງ​ການ​ຈໍາ​ນວນ​ຫນຶ່ງ​ຂອງ​
ຮູບແບບ multithreaded ໃນອະນາຄົດອາດຈະສູງກ່ວາຂອງ single-
ຮູບ​ແບບ​ກະ​ທູ້​.

· DecMem ມີຄວາມຕ້ອງການຄວາມຊົງຈໍາ decompressor. ນັ້ນແມ່ນ, ການບີບອັດ
ການຕັ້ງຄ່າກໍານົດຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາຂອງ decompressor. ແນ່ນອນ
ການໃຊ້ຄວາມຊົງຈໍາ decompressor ແມ່ນຫຼາຍກ່ວາຂະຫນາດວັດຈະນານຸກົມ LZMA2 ເລັກນ້ອຍ, ແຕ່
ຄ່າໃນຕາຕະລາງໄດ້ຖືກຮວບຮວມເຖິງ MiB ເຕັມຖັດໄປ.

-e, -- ທີ່ສຸດ
ໃຊ້ຕົວແປທີ່ຊ້າກວ່າຂອງລະດັບການຕັ້ງຄ່າການບີບອັດທີ່ເລືອກ (-0 ... -9) ໄປ
ຫວັງວ່າຈະໄດ້ຮັບອັດຕາສ່ວນການບີບອັດເລັກນ້ອຍທີ່ດີກວ່າ, ແຕ່ໂຊກບໍ່ດີນີ້ສາມາດເຮັດໄດ້
ຍັງເຮັດໃຫ້ມັນຮ້າຍແຮງກວ່າເກົ່າ. ການໃຊ້ຄວາມຊົງຈໍາ decompressor ບໍ່ໄດ້ຮັບຜົນກະທົບ, ແຕ່ເຄື່ອງບີບອັດ
ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ​ເພີ່ມ​ຂຶ້ນ​ພຽງ​ເລັກ​ນ້ອຍ​ໃນ​ລະ​ດັບ preset​ -0 ... -3.

ເນື່ອງຈາກວ່າມີສອງ presets ທີ່ມີຂະຫນາດວັດຈະນານຸກົມ 4 MiB ແລະ 8 MiB, presets ໄດ້ -3e
ແລະ -5e ໃຊ້ການຕັ້ງຄ່າທີ່ໄວກວ່າເລັກນ້ອຍ (ຕ່ໍາກວ່າ CompCPU) ກ່ວາ -4e ແລະ -6e,
ຕາມລໍາດັບ. ດ້ວຍວິທີນັ້ນ, ບໍ່ມີສອງ presets ຄືກັນ.

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

ສໍາລັບຕົວຢ່າງ, ມີຈໍານວນທັງຫມົດສີ່ presets ທີ່ໃຊ້ 8 MiB ວັດຈະນານຸກົມ, ເຊິ່ງ
ສັ່ງຈາກໄວທີ່ສຸດໄປຫາຊ້າທີ່ສຸດແມ່ນ -5, -6, -5e, ແລະ -6e.

-- ໄວ
--ດີ​ທີ່​ສຸດ ເຫຼົ່ານີ້ແມ່ນບາງນາມແຝງທີ່ເຮັດໃຫ້ເຂົ້າໃຈຜິດ -0 ແລະ -9, ຕາມລໍາດັບ. ພວກ​ນີ້​ແມ່ນ
ສະໜອງໃຫ້ພຽງແຕ່ສຳລັບການເຂົ້າກັນໄດ້ກັບ LZMA Utils. ຫຼີກເວັ້ນການນໍາໃຊ້ເຫຼົ່ານີ້
ຕົວເລືອກ

--block-size=ຂະຫນາດ
ເມື່ອບີບອັດໃສ່ .xz ຮູບ​ແບບ​, ແບ່ງ​ປັນ​ຂໍ້​ມູນ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ອອກ​ເປັນ​ຕັນ​ຂອງ​ ຂະຫນາດ ໄບ.
ຕັນໄດ້ຖືກບີບອັດເປັນເອກະລາດຈາກກັນແລະກັນ.

--memlimit-compress=ກໍານົດຂອບເຂດ
ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດ. ຖ້າຕົວເລືອກນີ້ຖືກລະບຸຫຼາຍ
ເວລາ, ອັນສຸດທ້າຍມີຜົນ.

ຖ້າການຕັ້ງຄ່າການບີບອັດເກີນ ກໍານົດຂອບເຂດ, xz ຈະປັບການຕັ້ງຄ່າລົງລຸ່ມ
ເພື່ອບໍ່ໃຫ້ເກີນຂອບເຂດຈໍາກັດແລະສະແດງຫນັງສືແຈ້ງການອັດຕະໂນມັດ
ການ​ປັບ​ປຸງ​ແມ່ນ​ສໍາ​ເລັດ​. ການປັບດັ່ງກ່າວບໍ່ໄດ້ເຮັດໃນເວລາທີ່ບີບອັດດ້ວຍ
--format=raw ຫຼືຖ້າ --no-ປັບ ໄດ້ຖືກລະບຸໄວ້. ໃນກໍລະນີດັ່ງກ່າວ, ຄວາມຜິດພາດແມ່ນ
ສະ​ແດງ​ແລະ​ xz ຈະອອກດ້ວຍສະຖານະທາງອອກ 1.

ໄດ້ ກໍານົດຂອບເຂດ ສາມາດໄດ້ຮັບການລະບຸໄວ້ໃນຫຼາຍວິທີ:

·ທ ກໍານົດຂອບເຂດ ສາມາດເປັນຄ່າຢ່າງແທ້ຈິງໃນ bytes. ການໃຊ້ຄຳຕໍ່ທ້າຍຈຳນວນເຕັມຄື ອີບ
ສາມາດເປັນປະໂຫຍດ. ຕົວຢ່າງ: --memlimit-compress=80MiB

·ທ ກໍານົດຂອບເຂດ ສາມາດຖືກກໍານົດເປັນເປີເຊັນຂອງຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍທັງຫມົດ (RAM). ນີ້
ສາມາດເປັນປະໂຫຍດໂດຍສະເພາະໃນເວລາທີ່ຕັ້ງ XZ_DEFAULTS ສະພາບແວດລ້ອມຕົວແປໃນ a
shell script ການເລີ່ມຕົ້ນທີ່ແບ່ງປັນລະຫວ່າງຄອມພິວເຕີທີ່ແຕກຕ່າງກັນ. ນັ້ນ
ວິທີການຈໍາກັດຈະໃຫຍ່ຂຶ້ນໂດຍອັດຕະໂນມັດໃນລະບົບທີ່ມີຫນ່ວຍຄວາມຈໍາຫຼາຍ. ຕົວຢ່າງ:
--memlimit-compress=70%

·ທ ກໍານົດຂອບເຂດ ສາມາດຖືກຕັ້ງຄືນເປັນຄ່າເລີ່ມຕົ້ນຂອງມັນໂດຍການຕັ້ງມັນເປັນ 0. ນີ້​ແມ່ນ
ໃນປັດຈຸບັນທຽບເທົ່າກັບການຕັ້ງຄ່າ ກໍານົດຂອບເຂດ to ສູງສຸດທີ່ເຄຍ (ບໍ່​ຈໍາ​ກັດ​ການ​ນໍາ​ໃຊ້​ຫນ່ວຍ​ຄວາມ​ຈໍາ​)​. ຄັ້ງດຽວ
ສະຫນັບສະຫນູນ multithreading ໄດ້ຖືກປະຕິບັດ, ອາດຈະມີຄວາມແຕກຕ່າງລະຫວ່າງ 0
ແລະ ສູງສຸດທີ່ເຄຍ ສໍາລັບກໍລະນີ multithreaded, ສະນັ້ນມັນແນະນໍາໃຫ້ໃຊ້ 0 ແທນ​ທີ່ ສູງສຸດທີ່ເຄຍ
ຈົນ​ກ​່​ວາ​ລາຍ​ລະ​ອຽດ​ໄດ້​ຮັບ​ການ​ຕັດ​ສິນ​ໃຈ​.

ເບິ່ງພາກ ຫນ່ວຍຄວາມຈໍາ ການນໍາໃຊ້.

--memlimit-decompress=ກໍານົດຂອບເຂດ
ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression. ນີ້​ຍັງ​ມີ​ຜົນ​ກະ​ທົບ​ --ລາຍການ ໂໝດ. ຖ້າ
ການດໍາເນີນງານແມ່ນເປັນໄປບໍ່ໄດ້ໂດຍບໍ່ມີການເກີນ ກໍານົດຂອບເຂດ, xz ຈະສະແດງຂໍ້ຜິດພາດ
ແລະການບີບອັດໄຟລ໌ຈະລົ້ມເຫລວ. ເບິ່ງ --memlimit-compress=ກໍານົດຂອບເຂດ ສໍາລັບຄວາມເປັນໄປໄດ້
ວິທີການກໍານົດ ກໍານົດຂອບເຂດ.

-M ກໍານົດຂອບເຂດ, --memlimit=ກໍານົດຂອບເຂດ, --ຄວາມຈຳ=ກໍານົດຂອບເຂດ
ນີ້ແມ່ນເທົ່າກັບການລະບຸ --memlimit-compress=ກໍານົດຂອບເຂດ
--memlimit-decompress=ກໍານົດຂອບເຂດ.

--no-ປັບ
ສະແດງຂໍ້ຜິດພາດແລະອອກຖ້າການຕັ້ງຄ່າການບີບອັດເກີນການໃຊ້ຫນ່ວຍຄວາມຈໍາ
ຈຳກັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອປັບການຕັ້ງຄ່າລົງລຸ່ມເພື່ອໃຫ້ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ
ຂີດຈຳກັດບໍ່ເກີນ. ການປັບອັດຕະໂນມັດຖືກປິດໄວ້ຕະຫຼອດເວລາເມື່ອສ້າງວັດຖຸດິບ
ກະແສ (--format=raw).

-T ກະທູ້, --ກະທູ້=ກະທູ້
ລະບຸຈໍານວນຂອງກະທູ້ພະນັກງານທີ່ຈະໃຊ້. ຈໍານວນຕົວຈິງຂອງກະທູ້ສາມາດເປັນ
ຫນ້ອຍ​ກ​່​ວາ ກະທູ້ ຖ້າ​ຫາກ​ວ່າ​ການ​ນໍາ​ໃຊ້​ຫຼາຍ​ກະ​ທູ້​ຈະ​ເກີນ​ກໍາ​ນົດ​ການ​ນໍາ​ໃຊ້​ຫນ່ວຍ​ຄວາມ​ຈໍາ​.

Multithreaded compression ແລະ ການບີບອັດ ມີ ບໍ່ ປະຕິບັດ ທັນ, so ນີ້ ທາງເລືອກ
ມີ no ຜົນກະທົບ ສໍາລັບການ ໃນປັດຈຸບັນ.

As of ລາຍລັກອັກສອນ (2010-09-27), ທ. it ບໍ່ໄດ້ ໄດ້ ຕັດສິນໃຈ if ກະທູ້ ຈະ be ໃຫມ່ by
Default on ຫຼາຍຫຼັກ ລະບົບ ຄັ້ງຫນຶ່ງ ສະຫນັບສະຫນູນ ສໍາລັບການ ກະທູ້ ມີ ໄດ້ ປະຕິບັດ.
ຄວາມຄິດເຫັນ ມີ ຍິນດີຕ້ອນຮັບ. ປັດໄຈທີ່ສັບສົນແມ່ນວ່າການນໍາໃຊ້ຫຼາຍກະທູ້ຈະ
ເພີ່ມ​ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ​ຢ່າງ​ຫຼວງ​ຫຼາຍ​. ໃຫ້ສັງເກດວ່າຖ້າ multithreading ຈະເປັນ
ໃນຕອນຕົ້ນ, ມັນອາດຈະເປັນການເຮັດດັ່ງນັ້ນຮູບແບບດຽວ threaded ແລະ multithreaded
ຜະລິດຜົນຜະລິດດຽວກັນ, ດັ່ງນັ້ນອັດຕາສ່ວນການບີບອັດຈະບໍ່ໄດ້ຮັບຜົນກະທົບຢ່າງຫຼວງຫຼາຍຖ້າ
threading ຈະຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

Custom ເຄື່ອງອັດ ການກັ່ນຕອງ chains
ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງອະນຸຍາດໃຫ້ກໍານົດການຕັ້ງຄ່າການບີບອັດໃນລາຍລະອຽດແທນທີ່ຈະເປັນ
ອີງໃສ່ການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງກັບລະດັບທີ່ກໍານົດໄວ້ກ່ອນ. ເມື່ອລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງແມ່ນ
ລະບຸໄວ້, ຕົວເລືອກລະດັບການບີບອັດ preset (-0 ... -9 ແລະ -- ທີ່ສຸດ) ງຽບໆ
ບໍ່ສົນໃຈ.

ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງແມ່ນປຽບທຽບກັບທໍ່ຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ໃນເວລາທີ່ບີບອັດ, ໄດ້
ການປ້ອນຂໍ້ມູນທີ່ບໍ່ຖືກບີບອັດຈະໄປຫາຕົວກອງທຳອິດ, ຜົນຜະລິດຂອງມັນຈະໄປຫາຕົວກອງຕໍ່ໄປ (ຖ້າ
ໃດ). ຜົນຜະລິດຂອງການກັ່ນຕອງສຸດທ້າຍໄດ້ຮັບລາຍລັກອັກສອນກັບໄຟລ໌ທີ່ຖືກບີບອັດ. ສູງສຸດ
ຈໍາ​ນວນ​ຂອງ​ການ​ກັ່ນ​ຕອງ​ໃນ​ຕ່ອງ​ໂສ້​ແມ່ນ​ສີ່​, ແຕ່​ໂດຍ​ປົກ​ກະ​ຕິ​ຕ່ອງ​ໂສ້​ການ​ກັ່ນ​ຕອງ​ມີ​ພຽງ​ແຕ່​ຫນຶ່ງ​ຫຼື​ສອງ​
ຕົວກອງ

ການກັ່ນຕອງຈໍານວນຫຼາຍມີຂໍ້ຈໍາກັດກ່ຽວກັບບ່ອນທີ່ພວກເຂົາສາມາດຢູ່ໃນຕ່ອງໂສ້ການກັ່ນຕອງ: ບາງຕົວກອງສາມາດ
ເຮັດວຽກພຽງແຕ່ເປັນຕົວກອງສຸດທ້າຍໃນລະບົບຕ່ອງໂສ້, ບາງອັນພຽງແຕ່ເປັນຕົວກອງທີ່ບໍ່ແມ່ນສຸດທ້າຍ, ແລະບາງວຽກ
ໃນຕໍາແໜ່ງໃດນຶ່ງໃນຕ່ອງໂສ້. ອີງຕາມການກັ່ນຕອງ, ຂໍ້ຈໍາກັດນີ້ແມ່ນປະກົດຂຶ້ນ
ກັບການອອກແບບການກັ່ນຕອງຫຼືມີຢູ່ເພື່ອປ້ອງກັນບັນຫາຄວາມປອດໄພ.

ລະບົບຕ່ອງໂສ້ການກັ່ນຕອງທີ່ກໍາຫນົດເອງແມ່ນຖືກກໍານົດໂດຍການໃຊ້ຫນຶ່ງຫຼືຫຼາຍທາງເລືອກການກັ່ນຕອງຕາມລໍາດັບ
ຕ້ອງການຢູ່ໃນລະບົບຕ່ອງໂສ້ການກັ່ນຕອງ. ນັ້ນແມ່ນ, ຄໍາສັ່ງຂອງຕົວເລືອກການກັ່ນຕອງແມ່ນສໍາຄັນ!
ເມື່ອຖອດລະຫັດກະແສດິບ (--format=raw), ຕ່ອງໂສ້ການກັ່ນຕອງແມ່ນລະບຸໄວ້ໃນຄໍາສັ່ງດຽວກັນ
ດັ່ງທີ່ໄດ້ລະບຸໄວ້ໃນເວລາບີບອັດ.

ການກັ່ນຕອງເອົາຕົວກອງສະເພາະ ທາງເລືອກໃນການ ເປັນລາຍການທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ. ເຄື່ອງໝາຍຈຸດເພີ່ມເຕີມໃນ ທາງເລືອກໃນການ
ຖືກລະເລີຍ. ທຸກໆຕົວເລືອກມີຄ່າເລີ່ມຕົ້ນ, ດັ່ງນັ້ນທ່ານຈໍາເປັນຕ້ອງລະບຸສະເພາະທີ່ທ່ານຕ້ອງການ
ປ່ຽນ.

--lzma1[=ທາງເລືອກໃນການ]
--lzma2[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງ LZMA1 ຫຼື LZMA2 ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້ພຽງແຕ່ເປັນ
ການກັ່ນຕອງສຸດທ້າຍໃນລະບົບຕ່ອງໂສ້.

LZMA1 ແມ່ນຕົວກອງທີ່ເປັນມໍລະດົກ, ເຊິ່ງໄດ້ຮັບການສະຫນັບສະຫນູນເກືອບພຽງແຕ່ຍ້ອນມໍລະດົກ .lzma
ຮູບແບບໄຟລ໌, ເຊິ່ງຮອງຮັບພຽງແຕ່ LZMA1. LZMA2 ແມ່ນສະບັບປັບປຸງຂອງ LZMA1 ເປັນ
ແກ້ໄຂບັນຫາການປະຕິບັດບາງອັນຂອງ LZMA1. ໄດ້ .xz ຮູບແບບໃຊ້ LZMA2 ແລະບໍ່ຮອງຮັບ
LZMA1 ທັງຫມົດ. ຄວາມໄວການບີບອັດແລະອັດຕາສ່ວນຂອງ LZMA1 ແລະ LZMA2 ແມ່ນປະຕິບັດໄດ້
ດຽວກັນ.

LZMA1 ແລະ LZMA2 ແບ່ງປັນຊຸດດຽວກັນຂອງ ທາງເລືອກໃນການ:

preset=ຕັ້ງໄວ້ລ່ວງ ໜ້າ
ຣີເຊັດ LZMA1 ຫຼື LZMA2 ທັງໝົດ ທາງເລືອກໃນການ to ຕັ້ງໄວ້ລ່ວງ ໜ້າ. Preset ປະ​ກອບ​ດ້ວຍ​ຈໍາ​ນວນ​ເຕັມ​,
ເຊິ່ງອາດຈະຕິດຕາມດ້ວຍຕົວປັບປ່ຽນທີ່ຕັ້ງໄວ້ລ່ວງໜ້າຂອງຕົວອັກສອນດຽວ. ຈຳນວນເຕັມສາມາດເປັນ
ຈາກ 0 to 9, ກົງກັບຕົວເລືອກແຖວຄໍາສັ່ງ -0 ... -9ທີ່ຢູ່ ພຽງແຕ່
ຕົວແກ້ໄຂທີ່ຮອງຮັບໃນປັດຈຸບັນ e, ເຊິ່ງກົງກັນ -- ທີ່ສຸດ. ຄ່າເລີ່ມຕົ້ນ
ຕັ້ງໄວ້ລ່ວງ ໜ້າ is 6, ຈາກທີ່ຄ່າເລີ່ມຕົ້ນສໍາລັບສ່ວນທີ່ເຫຼືອຂອງ LZMA1 ຫຼື
LZMA2 ທາງເລືອກໃນການ ຖືກປະຕິບັດ.

dict=ຂະຫນາດ
ວັດຈະນານຸກົມ (buffer ປະຫວັດສາດ) ຂະຫນາດ ຊີ້ບອກຈໍານວນໄບຕ໌ຂອງບໍ່ດົນມານີ້
ຂໍ້​ມູນ​ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ແມ່ນ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​. ສູດການຄິດໄລ່ພະຍາຍາມຊອກຫາ
ເຮັດຊ້ຳລໍາດັບ byte (ກົງກັນ) ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດ, ແລະປ່ຽນແທນ
ພວກມັນດ້ວຍການອ້າງອີງເຖິງຂໍ້ມູນປະຈຸບັນຢູ່ໃນວັດຈະນານຸກົມ. ໃຫຍ່ກວ່າ
ວັດຈະນານຸກົມ, ໂອກາດທີ່ຈະຊອກຫາການແຂ່ງຂັນທີ່ສູງກວ່າ. ດັ່ງນັ້ນ, ເພີ່ມຂຶ້ນ
ວັດ​ຈະ​ນາ​ນຸ​ກົມ ຂະຫນາດ ປົກກະຕິແລ້ວປັບປຸງອັດຕາສ່ວນການບີບອັດ, ແຕ່ວັດຈະນານຸກົມໃຫຍ່ກວ່າ
ກ່ວາໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດແມ່ນເສຍຄວາມຈໍາ.

ວັດຈະນານຸກົມທົ່ວໄປ ຂະຫນາດ ຕັ້ງແຕ່ 64 KiB ຫາ 64 MiB. ຕໍາ່ສຸດທີ່ 4 KiB.
ສູງສຸດສໍາລັບການບີບອັດໃນປັດຈຸບັນແມ່ນ 1.5 GiB (1536 MiB). ໄດ້
decompressor ແລ້ວສະຫນັບສະຫນູນວັດຈະນານຸກົມເຖິງຫນຶ່ງ byte ຫນ້ອຍກວ່າ 4 GiB,
ເຊິ່ງແມ່ນສູງສຸດສຳລັບຮູບແບບສະຕຣີມ LZMA1 ແລະ LZMA2.

Dictionary ຂະຫນາດ ແລະຜູ້ຊອກຫາການແຂ່ງຂັນ (mf) ຮ່ວມກັນກໍານົດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂອງ
ຕົວເຂົ້າລະຫັດ LZMA1 ຫຼື LZMA2. ວັດຈະນານຸກົມດຽວກັນ (ຫຼືໃຫຍ່ກວ່າ). ຂະຫນາດ is
ຕ້ອງການສໍາລັບການ decompressing ທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ compressing, ດັ່ງນັ້ນຫນ່ວຍຄວາມຈໍາ
ການ​ນໍາ​ໃຊ້​ຂອງ​ຕົວ​ຖອດ​ລະ​ຫັດ​ແມ່ນ​ກໍາ​ນົດ​ໂດຍ​ຂະ​ຫນາດ​ວັດ​ຈະ​ນາ​ນຸ​ກົມ​ທີ່​ໃຊ້​ໃນ​ເວ​ລາ​ທີ່​
ການບີບອັດ. ໄດ້ .xz ສ່ວນຫົວເກັບຮັກສາວັດຈະນານຸກົມ ຂະຫນາດ ບໍ່ວ່າຈະເປັນ 2^n ຫຼື 2^n
+ 2^(n-1), ດັ່ງນັ້ນສິ່ງເຫຼົ່ານີ້ ຂະຫນາດ ຂ້ອນຂ້າງມັກສໍາລັບການບີບອັດ. ອື່ນໆ
ຂະຫນາດ ຈະ​ໄດ້​ຮັບ​ການ​ມົນ​ຂຶ້ນ​ໃນ​ເວ​ລາ​ທີ່​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ .xz ສ່ວນຫົວ.

lc=lc ລະບຸຈໍານວນບິດຂອງບໍລິບົດຕົວຫນັງສື. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະ
ສູງສຸດແມ່ນ 4; ຄ່າເລີ່ມຕົ້ນແມ່ນ 3. ນອກຈາກນັ້ນ, ຜົນລວມຂອງ lc ແລະ lp ບໍ່ຕ້ອງ
ເກີນ 4.

ໄບຕ໌ທັງໝົດທີ່ບໍ່ສາມາດເຂົ້າລະຫັດເປັນຂໍ້ມູນທີ່ກົງກັນໄດ້ຈະຖືກເຂົ້າລະຫັດເປັນຕົວໜັງສື. ນັ້ນ
ແມ່ນ, ຕົວຫນັງສືແມ່ນພຽງແຕ່ 8-bit bytes ທີ່ຖືກເຂົ້າລະຫັດຫນຶ່ງຄັ້ງ.

ການເຂົ້າລະຫັດຕົວຫນັງສືເຮັດໃຫ້ສົມມຸດຕິຖານວ່າສູງສຸດ lc bits ຂອງ
byte ທີ່ບໍ່ຖືກບີບອັດກ່ອນໜ້າ ກ່ຽວຂ້ອງກັບ byte ຕໍ່ໄປ. ສໍາລັບຕົວຢ່າງ, ໂດຍທົ່ວໄປ
ຂໍ້ຄວາມພາສາອັງກິດ, ຕົວອັກສອນຕົວພິມໃຫຍ່ມັກຈະຕິດຕາມດ້ວຍຕົວພິມນ້ອຍ,
ແລະຕົວອັກສອນຕົວພິມນ້ອຍມັກຈະຕິດຕາມດ້ວຍຕົວພິມນ້ອຍອື່ນ.
ໃນຊຸດຕົວອັກສອນ US-ASCII, ສາມບິດສູງສຸດແມ່ນ 010 ສໍາລັບຕົວພິມໃຫຍ່
ຕົວອັກສອນ ແລະ 011 ສໍາລັບຕົວພິມນ້ອຍ. ເມື່ອ​ໃດ​ lc ແມ່ນຢ່າງຫນ້ອຍ 3, ຕົວຫນັງສື
coding ສາມາດໃຊ້ປະໂຍດຈາກຄຸນສົມບັດນີ້ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດ.

ຄ່າເລີ່ມຕົ້ນ (3) ປົກກະຕິດີ. ຖ້າທ່ານຕ້ອງການການບີບອັດສູງສຸດ,
ການທົດສອບ lc=4. ບາງຄັ້ງມັນຊ່ວຍພຽງເລັກນ້ອຍ, ແລະບາງຄັ້ງມັນເຮັດໃຫ້ການບີບອັດ
ຮ້າຍແຮງກວ່າເກົ່າ. ຖ້າມັນເຮັດໃຫ້ຮ້າຍແຮງກວ່າເກົ່າ, ທົດສອບຕົວຢ່າງ lc=2 ເຊັ່ນດຽວກັນ.

lp=lp ລະບຸຈໍານວນບິດຕໍາແໜ່ງຕົວຫນັງສື. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະ
ສູງສຸດແມ່ນ 4; ຄ່າເລີ່ມຕົ້ນແມ່ນ 0.

Lp ຜົນກະທົບຕໍ່ການຈັດຮຽງປະເພດໃດແດ່ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດແມ່ນສົມມຸດວ່າເມື່ອໃດ
ການເຂົ້າລະຫັດຕົວໜັງສື. ເບິ່ງ pb ຂ້າງລຸ່ມນີ້ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການສອດຄ່ອງ.

pb=pb ລະບຸຈໍານວນຂອງບິດຕໍາແໜ່ງ. ຕໍາ່ສຸດທີ່ແມ່ນ 0 ແລະສູງສຸດແມ່ນ 4;
ຄ່າເລີ່ມຕົ້ນແມ່ນ 2.

Pb ຜົນກະທົບຕໍ່ການຈັດຮຽງປະເພດໃດແດ່ໃນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດຖືກສົມມຸດຂຶ້ນ
ທົ່ວໄປ. ຄ່າເລີ່ມຕົ້ນໝາຍເຖິງການຈັດຮຽງສີ່ໄບຕ໌ (2^pb=2^2=4), ເຊິ່ງມັກຈະເປັນ
ເປັນທາງເລືອກທີ່ດີໃນເວລາທີ່ບໍ່ມີການຄາດເດົາທີ່ດີກວ່າ.

ໃນເວລາທີ່ alignment ເປັນທີ່ຮູ້ຈັກ, ການຕັ້ງຄ່າ pb ຕາມຄວາມເຫມາະສົມອາດຈະຫຼຸດລົງຂະຫນາດໄຟລ໌
ຫນ້ອຍ​ຫນຶ່ງ. ເຊັ່ນ: ໄຟລ໌ຂໍ້ຄວາມທີ່ມີການຈັດຮຽງຫນຶ່ງໄບຕ໌ (US-ASCII,
ISO-8859-*, UTF-8), ການຕັ້ງຄ່າ pb=0 ສາມາດປັບປຸງການບີບອັດເລັກນ້ອຍ. ສໍາລັບ
ຂໍ້ຄວາມ UTF-16, pb=1 ເປັນທາງເລືອກທີ່ດີ. ຖ້າການຈັດຮຽງເປັນຕົວເລກຄີກເຊັ່ນ
3 ໄບ, pb=0 ອາດຈະເປັນທາງເລືອກທີ່ດີທີ່ສຸດ.

ເຖິງແມ່ນວ່າການສອດຄ່ອງສົມມຸດຕິຖານສາມາດປັບດ້ວຍ pb ແລະ lp, LZMA1 ແລະ
LZMA2 ຍັງມັກການຈັດຮຽງ 16-byte ເລັກນ້ອຍ. ມັນອາດຈະຄຸ້ມຄ່າທີ່ຈະເຂົ້າໄປໃນ
ບັນຊີໃນເວລາທີ່ການອອກແບບຮູບແບບໄຟລ໌ທີ່ມັກຈະຖືກບີບອັດ
ກັບ LZMA1 ຫຼື LZMA2.

mf=mf Match finder ມີຜົນກະທົບທີ່ສໍາຄັນຕໍ່ຄວາມໄວຂອງຕົວເຂົ້າລະຫັດ, ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ, ແລະ
ອັດຕາສ່ວນການບີບອັດ. ປົກກະຕິແລ້ວ Hash Chain match finders ແມ່ນໄວກວ່າ Binary
ຜູ້ຊອກຫາໄມ້ຢືນຕົ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບ ຕັ້ງໄວ້ລ່ວງ ໜ້າ: 0 ການນໍາໃຊ້ hc3, 1-3 ການນໍາໃຊ້
hc4, ແລະສ່ວນທີ່ເຫຼືອໃຊ້ bt4.

ຜູ້ຊອກຫາການແຂ່ງຂັນຕໍ່ໄປນີ້ໄດ້ຮັບການສະຫນັບສະຫນູນ. ສູດການນຳໃຊ້ໜ່ວຍຄວາມຈຳຂ້າງລຸ່ມນີ້
ແມ່ນການປະມານທີ່ຫຍາບຄາຍ, ເຊິ່ງໃກ້ກັບຄວາມເປັນຈິງທີ່ສຸດ ຂຽນ ຄຳ ສັ່ງ ເປັນ
ພະ​ລັງ​ງານ​ຂອງ​ສອງ​.

hc3 Hash Chain ທີ່ມີ hashing 2- ແລະ 3-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 3
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 7.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 16 MiB);
ຂຽນ ຄຳ ສັ່ງ * 5.5 + 64 MiB (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 16 MiB)

hc4 Hash Chain ດ້ວຍການ hashing 2-, 3-, ແລະ 4-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 4
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 7.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 32 MiB);
ຂຽນ ຄຳ ສັ່ງ * 6.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 32 MiB)

bt2 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ hashing 2-byte
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 2
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ: ຂຽນ ຄຳ ສັ່ງ * 9.5

bt3 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ 2- ແລະ 3-byte hashing
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 3
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 11.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 16 MiB);
ຂຽນ ຄຳ ສັ່ງ * 9.5 + 64 MiB (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 16 MiB)

bt4 ຕົ້ນໄມ້ໄບນາຣີທີ່ມີ 2-, 3-, ແລະ 4-byte hashing
ມູນຄ່າຕໍາ່ສຸດທີ່ສໍາລັບ ງາມ: 4
ການ ນຳ ໃຊ້ ໜ່ວຍ ຄວາມ ຈຳ:
ຂຽນ ຄຳ ສັ່ງ * 11.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ <= 32 MiB);
ຂຽນ ຄຳ ສັ່ງ * 10.5 (ຖ້າ ຂຽນ ຄຳ ສັ່ງ > 32 MiB)

ໂໝດ=ຮູບແບບການ
ການບີບອັດ ຮູບແບບການ ກໍານົດວິທີການວິເຄາະຂໍ້ມູນທີ່ຜະລິດໂດຍ the
ຜູ້ຊອກຫາການແຂ່ງຂັນ. ສະຫນັບສະຫນູນ ໂຫມດ ມີ ໄວ ແລະ ປົກກະຕິ. ຄ່າເລີ່ມຕົ້ນແມ່ນ ໄວ ສໍາລັບການ
ຕັ້ງໄວ້ລ່ວງ ໜ້າ 0-3 ແລະ ປົກກະຕິ ສໍາລັບການ ຕັ້ງໄວ້ລ່ວງ ໜ້າ 4-9.

ປົກກະຕິແລ້ວ ໄວ ຖືກນໍາໃຊ້ກັບ Hash Chain match finders ແລະ ປົກກະຕິ ກັບ Binary
ຜູ້ຊອກຫາໄມ້ຢືນຕົ້ນ. ນີ້​ຍັງ​ແມ່ນ​ສິ່ງ​ທີ່ ຕັ້ງໄວ້ລ່ວງ ໜ້າ ເຮັດແນວໃດ.

ງາມ =ງາມ
ລະບຸສິ່ງທີ່ຖືວ່າເປັນຄວາມຍາວທີ່ດີສໍາລັບການແຂ່ງຂັນ. ເມື່ອການແຂ່ງຂັນຂອງ
ຢ່າງ​ຫນ້ອຍ ງາມ bytes ຖືກພົບເຫັນ, algorithm ຢຸດເຊົາການຊອກຫາທີ່ເປັນໄປໄດ້
ການແຂ່ງຂັນທີ່ດີກວ່າ.

ງາມ ສາມາດ 2-273 bytes. ມູນຄ່າທີ່ສູງຂຶ້ນມີແນວໂນ້ມທີ່ຈະໃຫ້ການບີບອັດທີ່ດີກວ່າ
ອັດຕາສ່ວນໃນຄ່າໃຊ້ຈ່າຍຂອງຄວາມໄວ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂຶ້ນກັບ ຕັ້ງໄວ້ລ່ວງ ໜ້າ.

ຄວາມເລິກ=ຄວາມເລິກ
ລະບຸຄວາມເລິກການຊອກຫາສູງສຸດໃນຕົວຊອກຫາທີ່ກົງກັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ
ຄ່າພິເສດຂອງ 0, ເຊິ່ງເຮັດໃຫ້ເຄື່ອງອັດກໍານົດຄວາມສົມເຫດສົມຜົນ ຄວາມເລິກ
ຈາກ mf ແລະ ງາມ.

ສົມ​ເຫດ​ສົມ​ຜົນ ຄວາມເລິກ ສໍາລັບ Hash Chains ແມ່ນ 4-100 ແລະ 16-1000 ສໍາລັບຕົ້ນໄມ້ຖານສອງ.
ການນໍາໃຊ້ມູນຄ່າສູງຫຼາຍສໍາລັບ ຄວາມເລິກ ສາມາດເຮັດໃຫ້ຕົວເຂົ້າລະຫັດຊ້າທີ່ສຸດກັບ
ບາງໄຟລ໌. ຫຼີກເວັ້ນການຕັ້ງ ຄວາມເລິກ ຫຼາຍກວ່າ 1000 ເວັ້ນເສຍແຕ່ວ່າທ່ານກຽມພ້ອມທີ່ຈະ
ຂັດຂວາງການບີບອັດໃນກໍລະນີທີ່ມັນໃຊ້ເວລາດົນເກີນໄປ.

ເມື່ອຖອດລະຫັດກະແສດິບ (--format=raw), LZMA2 ຕ້ອງການພຽງແຕ່ພົດຈະນານຸກົມເທົ່ານັ້ນ ຂະຫນາດ.
LZMA1 ຍັງຕ້ອງການ lc, lp, ແລະ pb.

--x86[=ທາງເລືອກໃນການ]
--powerpc[=ທາງເລືອກໃນການ]
--ia64[=ທາງເລືອກໃນການ]
--ແຂນ[=ທາງເລືອກໃນການ]
--ໂປ້ມື[=ທາງເລືອກໃນການ]
--sparc[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງສາຂາ/ໂທ/ໂດດ (BCJ) ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງເຫຼົ່ານີ້ສາມາດຖືກນໍາໃຊ້
ພຽງແຕ່ເປັນຕົວກອງທີ່ບໍ່ແມ່ນສຸດທ້າຍໃນຕ່ອງໂສ້ການກັ່ນຕອງ.

ການກັ່ນຕອງ BCJ ປ່ຽນທີ່ຢູ່ທີ່ກ່ຽວຂ້ອງໃນລະຫັດເຄື່ອງເປັນຢ່າງແທ້ຈິງຂອງພວກເຂົາ
ຄູ່ຮ່ວມ. ນີ້ບໍ່ມີການປ່ຽນແປງຂະຫນາດຂອງຂໍ້ມູນ, ແຕ່ມັນເພີ່ມຂຶ້ນ
redundancy, ເຊິ່ງສາມາດຊ່ວຍ LZMA2 ຜະລິດ 0-15 % ນ້ອຍລົງ .xz ໄຟລ໌. BCJ
ການກັ່ນຕອງແມ່ນສາມາດປີ້ນກັບກັນໄດ້ຕະຫຼອດເວລາ, ດັ່ງນັ້ນການໃຊ້ຕົວກອງ BCJ ສໍາລັບປະເພດຂໍ້ມູນທີ່ບໍ່ຖືກຕ້ອງແມ່ນບໍ່ໄດ້
ເຮັດໃຫ້ເກີດການສູນເສຍຂໍ້ມູນໃດໆ, ເຖິງແມ່ນວ່າມັນອາດຈະເຮັດໃຫ້ອັດຕາສ່ວນການບີບອັດຮ້າຍແຮງຂຶ້ນເລັກນ້ອຍ.

ມັນດີທີ່ຈະນໍາໃຊ້ຕົວກອງ BCJ ໃນການປະຕິບັດທັງຫມົດ; ບໍ່ຈໍາເປັນຕ້ອງໃຊ້ມັນ
ພຽງແຕ່ຢູ່ໃນພາກປະຕິບັດ. ການນຳໃຊ້ຕົວກອງ BCJ ຢູ່ໃນບ່ອນເກັບມ້ຽນທີ່ບັນຈຸ
ທັງສອງໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ແລະບໍ່ສາມາດປະຕິບັດໄດ້ອາດຈະຫຼືອາດຈະບໍ່ໃຫ້ຜົນໄດ້ຮັບທີ່ດີ, ສະນັ້ນມັນ
ໂດຍທົ່ວໄປແລ້ວມັນບໍ່ດີທີ່ຈະໃຊ້ຕົວກອງ BCJ ໃນເວລາບີບອັດແພັກເກັດໄບນາຣີ
ສໍາລັບການແຈກຢາຍ.

ຕົວກອງ BCJ ເຫຼົ່ານີ້ແມ່ນໄວຫຼາຍ ແລະໃຊ້ຄວາມຊົງຈໍາທີ່ບໍ່ສໍາຄັນ. ຖ້າ BCJ
ການກັ່ນຕອງປັບປຸງອັດຕາສ່ວນການບີບອັດຂອງໄຟລ໌, ມັນສາມາດປັບປຸງຄວາມໄວໃນການບີບອັດ
ເວລາດຽວກັນ. ນີ້ແມ່ນຍ້ອນວ່າ, ໃນຮາດແວດຽວກັນ, ຄວາມໄວ decompression ຂອງ
LZMA2 ແມ່ນປະມານຕົວເລກຄົງທີ່ຂອງໄບຕ໌ຂອງຂໍ້ມູນທີ່ຖືກບີບອັດຕໍ່ວິນາທີ.

ການກັ່ນຕອງ BCJ ເຫຼົ່ານີ້ມີບັນຫາທີ່ຮູ້ຈັກທີ່ກ່ຽວຂ້ອງກັບອັດຕາສ່ວນການບີບອັດ:

·ບາງປະເພດຂອງໄຟລ໌ທີ່ມີລະຫັດປະຕິບັດໄດ້ (ເຊັ່ນ: ໄຟລ໌ວັດຖຸ, static
ຫ້ອງສະຫມຸດ, ແລະໂມດູນ Linux kernel) ມີທີ່ຢູ່ໃນຄໍາແນະນໍາ
ເຕັມໄປດ້ວຍຄຸນຄ່າຂອງ filler. ຕົວກອງ BCJ ເຫຼົ່ານີ້ຈະຍັງຄົງເຮັດທີ່ຢູ່
ການປ່ຽນໃຈເຫລື້ອມໃສ, ເຊິ່ງຈະເຮັດໃຫ້ການບີບອັດຮ້າຍແຮງກວ່າເກົ່າກັບໄຟລ໌ເຫຼົ່ານີ້.

· ການ​ນໍາ​ໃຊ້​ຕົວ​ກັ່ນ​ຕອງ BCJ ໃນ​ການ​ເກັບ​ຮັກ​ສາ​ທີ່​ປະ​ກອບ​ດ້ວຍ​ການ​ປະ​ຕິ​ບັດ​ທີ່​ຄ້າຍ​ຄື​ກັນ​ຫຼາຍ​ສາ​ມາດ​ເຮັດ​ໄດ້​
ເຮັດໃຫ້ອັດຕາສ່ວນການບີບອັດຮ້າຍແຮງກວ່າບໍ່ໃຊ້ຕົວກອງ BCJ. ນີ້​ແມ່ນ​ຍ້ອນ​ວ່າ
ການກັ່ນຕອງ BCJ ບໍ່ກວດພົບຂອບເຂດຂອງໄຟລ໌ທີ່ປະຕິບັດໄດ້, ແລະ
ບໍ່ໄດ້ຕັ້ງຕົວນັບການແປງທີ່ຢູ່ຄືນໃໝ່ສໍາລັບແຕ່ລະອັນທີ່ປະຕິບັດໄດ້.

ທັງສອງບັນຫາຂ້າງເທິງຈະຖືກແກ້ໄຂໃນອະນາຄົດໃນຕົວກອງໃຫມ່. ເກົ່າ
ຕົວກອງ BCJ ຍັງຈະເປັນປະໂຫຍດໃນລະບົບຝັງຕົວ, ເພາະວ່າຕົວຖອດລະຫັດຂອງ
ການກັ່ນຕອງໃຫມ່ຈະໃຫຍ່ກວ່າແລະໃຊ້ຫນ່ວຍຄວາມຈໍາຫຼາຍ.

ຊຸດຄໍາແນະນໍາທີ່ແຕກຕ່າງກັນມີການຈັດຕໍາແຫນ່ງທີ່ແຕກຕ່າງກັນ:

ບັນທຶກການຈັດຮຽງການກັ່ນຕອງ
x86 1 32-bit ຫຼື 64-bit x86
PowerPC 4 Big endian ເທົ່ານັ້ນ
ARM 4 Little endian ເທົ່ານັ້ນ
ARM-Thumb 2 Little endian ເທົ່ານັ້ນ
IA-64 16 ໃຫຍ່ ຫຼື ນ້ອຍ endian
SPARC 4 endian ໃຫຍ່ ຫຼື ນ້ອຍ

ນັບຕັ້ງແຕ່ຂໍ້ມູນການກັ່ນຕອງ BCJ ມັກຈະຖືກບີບອັດດ້ວຍ LZMA2, ອັດຕາສ່ວນການບີບອັດ
ອາດຈະຖືກປັບປຸງເລັກນ້ອຍຖ້າຕົວເລືອກ LZMA2 ຖືກກໍານົດໃຫ້ກົງກັບການຈັດຕໍາແຫນ່ງຂອງ
ເລືອກຕົວກອງ BCJ. ຕົວຢ່າງ, ດ້ວຍຕົວກອງ IA-64, ມັນດີທີ່ຈະຕັ້ງຄ່າ pb=4
ກັບ LZMA2 (2^4=16). ການກັ່ນຕອງ x86 ແມ່ນຂໍ້ຍົກເວັ້ນ; ມັນເປັນປົກກະຕິດີທີ່ຈະຕິດຢູ່
ການຈັດຮຽງສີ່ໄບຕ໌ມາດຕະຖານຂອງ LZMA2 ເມື່ອບີບອັດ x86 ປະຕິບັດໄດ້.

ການກັ່ນຕອງ BCJ ທັງຫມົດສະຫນັບສະຫນູນຄືກັນ ທາງເລືອກໃນການ:

start=ຊົດເຊີຍ
ກໍານົດການເລີ່ມຕົ້ນ ຊົດເຊີຍ ທີ່ຖືກນໍາໃຊ້ໃນເວລາທີ່ການແປງລະຫວ່າງພີ່ນ້ອງແລະ
ທີ່ຢູ່ຢ່າງແທ້ຈິງ. ໄດ້ ຊົດເຊີຍ ຕ້ອງເປັນຄວາມຫຼາກຫຼາຍຂອງການຈັດຮຽງຂອງ
ການກັ່ນຕອງ (ເບິ່ງຕາຕະລາງຂ້າງເທິງ). ຄ່າເລີ່ມຕົ້ນແມ່ນສູນ. ໃນການປະຕິບັດ, ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນດີ; ກໍານົດ custom ຊົດເຊີຍ ແມ່ນເກືອບບໍ່ເຄີຍເປັນປະໂຫຍດ.

--delta[=ທາງເລືອກໃນການ]
ເພີ່ມຕົວກອງ Delta ໃສ່ຕ່ອງໂສ້ການກັ່ນຕອງ. ການກັ່ນຕອງ Delta ສາມາດຖືກນໍາໃຊ້ພຽງແຕ່ເປັນ
ການກັ່ນຕອງທີ່ບໍ່ແມ່ນສຸດທ້າຍໃນຕ່ອງໂສ້ການກັ່ນຕອງ.

ໃນປັດຈຸບັນພຽງແຕ່ການຄໍານວນ delta ງ່າຍດາຍ byte-wise ໄດ້ຮັບການສະຫນັບສະຫນູນ. ມັນສາມາດເປັນປະໂຫຍດ
ໃນ​ເວ​ລາ​ທີ່​ການ​ບີບ​ອັດ​ເຊັ່ນ​: ຮູບ​ພາບ bitmap ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​ຫຼື PCM ສຽງ​ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​.
ຢ່າງໃດກໍຕາມ, ສູດການຄິດໄລ່ຈຸດປະສົງພິເສດອາດຈະໃຫ້ຜົນໄດ້ຮັບທີ່ດີກວ່າຢ່າງຫຼວງຫຼາຍ
Delta + LZMA2. ນີ້ແມ່ນຄວາມຈິງໂດຍສະເພາະກັບສຽງ, ເຊິ່ງ compresses ໄວຂຶ້ນແລະ
ດີກວ່າ e.g. ກັບ flac(1).

ສະຫນັບສະຫນູນ ທາງເລືອກໃນການ:

dist=ໄລຍະທາງ
ລະບຸວ່າ ໄລຍະທາງ ຂອງການຄິດໄລ່ delta ໃນ bytes. ໄລຍະທາງ ຕ້ອງເປັນ
1-256. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.

ຍົກຕົວຢ່າງ, ກັບ dist=2 ແລະການປ້ອນຂໍ້ມູນແປດໄບ A1 B1 A2 B3 A3 B5 A4 B7, the
ຜົນຜະລິດຈະເປັນ A1 B1 01 02 01 02 01 02.

ອື່ນ ໆ ທາງເລືອກໃນການ
-q, --ງຽບ
ສະກັດກັ້ນການເຕືອນໄພ ແລະແຈ້ງການ. ລະບຸນີ້ສອງຄັ້ງເພື່ອສະກັດກັ້ນຄວາມຜິດພາດເກີນໄປ. ນີ້
ທາງເລືອກບໍ່ມີຜົນກັບສະຖານະການອອກ. ນັ້ນແມ່ນ, ເຖິງແມ່ນວ່າການເຕືອນໄພແມ່ນ
ຖືກສະກັດກັ້ນ, ສະຖານະການອອກເພື່ອຊີ້ບອກເຕືອນແມ່ນຍັງໃຊ້.

-v, -- verbose
ເປັນຄຳເວົ້າ. ຖ້າຄວາມຜິດພາດມາດຕະຖານເຊື່ອມຕໍ່ກັບເຄື່ອງໃຊ້ໄຟຟ້າ, xz ຈະສະແດງກ
ຕົວຊີ້ບອກຄວາມຄືບໜ້າ. ການລະບຸ -- verbose ສອງຄັ້ງຈະເຮັດໃຫ້ຜົນຜະລິດ verbose ຫຼາຍຂຶ້ນ.

ຕົວຊີ້ບອກຄວາມຄືບໜ້າສະແດງຂໍ້ມູນຕໍ່ໄປນີ້:

·ອັດຕາສ່ວນການສໍາເລັດແມ່ນສະແດງໃຫ້ເຫັນຖ້າຫາກວ່າຂະຫນາດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນຮູ້ຈັກ. ນັ້ນ​ແມ່ນ,
ເປີເຊັນບໍ່ສາມາດສະແດງຢູ່ໃນທໍ່.

· ຈໍານວນຂໍ້ມູນທີ່ຖືກບີບອັດທີ່ຜະລິດ (ບີບອັດ) ຫຼືບໍລິໂພກ (ການບີບອັດ).

· ຈໍານວນຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດທີ່ບໍລິໂພກ (ບີບອັດ) ຫຼືຜະລິດ (ບີບອັດ).

· ອັດ​ຕາ​ສ່ວນ​ການ​ບີບ​ອັດ​, ເຊິ່ງ​ໄດ້​ຖືກ​ຄິດ​ໄລ່​ໂດຍ​ການ​ແບ່ງ​ປັນ​ຈໍາ​ນວນ​ຂອງ​ຂໍ້​ມູນ​ທີ່​ບີບ​ອັດ​
ປະມວນຜົນມາເຖິງຕອນນັ້ນໂດຍປະລິມານຂອງຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດປະມວນຜົນມາເຖິງຕອນນັ້ນ.

· ຄວາມ​ໄວ​ການ​ບີບ​ອັດ​ຫຼື decompression​. ນີ້ແມ່ນການວັດແທກເປັນຈໍານວນ
ຂໍ້ມູນທີ່ບໍ່ໄດ້ບີບອັດຖືກບໍລິໂພກ (ການບີບອັດ) ຫຼືຜະລິດ (ການບີບອັດ) ຕໍ່ວິນາທີ.
ມັນສະແດງໃຫ້ເຫັນຫຼັງຈາກສອງສາມວິນາທີໄດ້ຜ່ານໄປນັບຕັ້ງແຕ່ xz ໄດ້​ເລີ່ມ​ຕົ້ນ​ການ​ປຸງ​ແຕ່ງ​
ຍື່ນ.

· ເວລາຜ່ານໄປໃນຮູບແບບ M:SS ຫຼື H:MM:SS.

· ເວລາທີ່ເຫຼືອໂດຍຄາດຄະເນຈະສະແດງເມື່ອຂະໜາດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນຮູ້ເທົ່ານັ້ນ
ແລະສອງສາມວິນາທີໄດ້ຜ່ານໄປແລ້ວຕັ້ງແຕ່ນັ້ນມາ xz ໄດ້​ເລີ່ມ​ຕົ້ນ​ການ​ປຸງ​ແຕ່ງ​
ໄຟລ໌. ເວລາຖືກສະແດງໃນຮູບແບບທີ່ຊັດເຈນໜ້ອຍກວ່າທີ່ບໍ່ເຄີຍມີຈໍ້າສອງເມັດ,
ຕົວຢ່າງ: 2 min 30 s.

ເມື່ອຄວາມຜິດພາດມາດຕະຖານບໍ່ແມ່ນຈຸດເຊື່ອມຕໍ່, -- verbose ຈະ​ເຮັດ​ໃຫ້ xz ພິມ​ຊື່​ໄຟລ​໌​,
ຂະຫນາດບີບອັດ, ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດ, ອັດຕາສ່ວນການບີບອັດ, ແລະອາດຈະເປັນຄວາມໄວ
ແລະເວລາຜ່ານໄປໃນເສັ້ນດຽວກັບຄວາມຜິດພາດມາດຕະຖານຫຼັງຈາກການບີບອັດຫຼື
decompressing ໄຟລ​໌​. ຄວາມໄວແລະເວລາທີ່ຜ່ານໄປແມ່ນລວມເອົາພຽງແຕ່ໃນເວລາທີ່
ການດໍາເນີນງານໃຊ້ເວລາຢ່າງຫນ້ອຍສອງສາມວິນາທີ. ຖ້າຫາກວ່າການດໍາເນີນງານບໍ່ໄດ້ສໍາເລັດ, ເຊັ່ນ: ເນື່ອງຈາກ
ການຂັດຂວາງຜູ້ໃຊ້, ຍັງອັດຕາສ່ວນການສໍາເລັດແມ່ນພິມອອກຖ້າຫາກວ່າຂະຫນາດຂອງ
ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນເປັນທີ່ຮູ້ຈັກ.

-Q, -- ບໍ່ເຕືອນ
ຢ່າຕັ້ງສະຖານະທາງອອກເປັນ 2 ເຖິງແມ່ນວ່າຈະກວດພົບເງື່ອນໄຂທີ່ຄຸ້ມຄ່າກັບການເຕືອນ.
ທາງເລືອກນີ້ບໍ່ມີຜົນຕໍ່ລະດັບ verbosity, ດັ່ງນັ້ນທັງສອງ --ງຽບ ແລະ -- ບໍ່ເຕືອນ
ຕ້ອງໃຊ້ເພື່ອບໍ່ສະແດງຄໍາເຕືອນແລະບໍ່ປ່ຽນແປງສະຖານະການອອກ.

-- ຫຸ່ນຍົນ
ພິມຂໍ້ຄວາມໃນຮູບແບບທີ່ເຄື່ອງຈັກສາມາດວິເຄາະໄດ້. ນີ້ມີຈຸດປະສົງເພື່ອຄວາມສະດວກໃນການຂຽນ
frontends ທີ່ຕ້ອງການໃຊ້ xz ແທນທີ່ຈະ liblzma, ເຊິ່ງອາດຈະເປັນກໍລະນີ
ສະຄຣິບຕ່າງໆ. ຜົນຜະລິດທີ່ມີຕົວເລືອກນີ້ຖືກເປີດໃຊ້ແມ່ນຫມາຍຄວາມວ່າຈະມີຄວາມຫມັ້ນຄົງໃນທົ່ວ
xz ການປ່ອຍ. ເບິ່ງພາກ ROBOT MODE ສໍາລັບລາຍລະອຽດ.

--info-ຄວາມຊົງຈໍາ
ຈໍສະແດງຜົນ, ໃນຮູບແບບທີ່ມະນຸດສາມາດອ່ານໄດ້, ຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍ (RAM) ຫຼາຍປານໃດ xz ຄິດ​ວ່າ
ລະບົບມີແລະຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດແລະ decompression, ແລະອອກ
ຢ່າງ ສຳ ເລັດຜົນ.

-h, - ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອທີ່ອະທິບາຍທາງເລືອກທີ່ໃຊ້ທົ່ວໄປທີ່ສຸດ, ແລະອອກ
ຢ່າງ ສຳ ເລັດຜົນ.

-H, -- ຍາວ ຊ່ວຍ
ສະແດງຂໍ້ຄວາມຊ່ວຍເຫຼືອທີ່ອະທິບາຍລັກສະນະທັງໝົດຂອງ xz, ແລະ​ອອກ​ຢ່າງ​ສໍາ​ເລັດ​ຜົນ​

-V, - ການປ່ຽນແປງ
ສະແດງຈໍານວນສະບັບຂອງ xz ແລະ liblzma ໃນຮູບແບບທີ່ສາມາດອ່ານໄດ້ຂອງມະນຸດ. ໄດ້​ຮັບ
ຜົນ​ຜະ​ລິດ​ຂອງ​ເຄື່ອງ​ວິ​ເຄາະ​, ລະ​ບຸ​ -- ຫຸ່ນຍົນ ກ່ອນທີ່ຈະ - ການປ່ຽນແປງ.

ROBOT MODE


ໂຫມດຫຸ່ນຍົນຖືກເປີດໃຊ້ດ້ວຍ -- ຫຸ່ນຍົນ ທາງເລືອກ. ມັນເຮັດໃຫ້ຜົນຜະລິດຂອງ xz ງ່າຍຕໍ່ການ
parse ໂດຍໂຄງການອື່ນໆ. ໃນປັດຈຸບັນ -- ຫຸ່ນຍົນ ແມ່ນສະຫນັບສະຫນູນພຽງແຕ່ຮ່ວມກັນກັບ - ການປ່ຽນແປງ,
--info-ຄວາມຊົງຈໍາ, ແລະ --ລາຍການ. ມັນຈະໄດ້ຮັບການສະຫນັບສະຫນູນສໍາລັບການບີບອັດແລະ decompression ປົກກະຕິ
ໃນ​ອາ​ນາ​ຄົດ.

Version
xz -- ຫຸ່ນຍົນ - ການປ່ຽນແປງ ຈະພິມຈໍານວນສະບັບຂອງ xz ແລະ liblzma ຕໍ່ໄປນີ້
ຮູບແບບ:

XZ_VERSION=XYYYZZZS
LIBLZMA_VERSION=XYYYZZZS

X ສະ​ບັບ​ສໍາ​ຄັນ​.

ປປ ຮຸ່ນນ້ອຍ. ຕົວເລກແມ່ນຄົງທີ່. ຕົວເລກຄີກແມ່ນເວີຊັນ alpha ຫຼື beta.

Zzz ລະດັບ Patch ສໍາລັບການປ່ອຍທີ່ຫມັ້ນຄົງຫຼືພຽງແຕ່ counter ສໍາລັບການປ່ອຍການພັດທະນາ.

S ສະຖຽນລະພາບ. 0 ແມ່ນອັນຟາ, 1 ແມ່ນເບຕ້າ, ແລະ 2 ມີຄວາມໝັ້ນຄົງ. S ຄວນຈະເປັນ 2 ສະເໝີ ປປ
ແມ່ນແມ້ແຕ່.

XYYYZZZS ແມ່ນຄືກັນໃນທັງສອງສາຍຖ້າ xz ແລະ liblzma ແມ່ນມາຈາກການປ່ອຍ XZ Utils ດຽວກັນ.

ຕົວຢ່າງ: 4.999.9beta ແມ່ນ 49990091 ແລະ 5.0.0 ແມ່ນ 50000002.

ຫນ່ວຍຄວາມຈໍາ ກໍານົດຂອບເຂດ ຂໍ້ມູນຂ່າວສານ
xz -- ຫຸ່ນຍົນ --info-ຄວາມຊົງຈໍາ ພິມ​ແຖວ​ດຽວ​ກັບ​ສາມ​ຖັນ​ແຍກ​ແຖບ​:

1. ຈໍານວນທັງຫມົດຂອງຫນ່ວຍຄວາມຈໍາທາງດ້ານຮ່າງກາຍ (RAM) ໃນ bytes

2. ຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການບີບອັດໃນ bytes. ຄ່າພິເສດຂອງສູນສະແດງເຖິງ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງສໍາລັບໂຫມດກະທູ້ດຽວແມ່ນຄືກັນກັບບໍ່ມີຂອບເຂດຈໍາກັດ.

3. ຈໍາກັດການໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression ໃນ bytes. ຄ່າພິເສດຂອງສູນສະແດງເຖິງ
ການຕັ້ງຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງສໍາລັບໂຫມດກະທູ້ດຽວແມ່ນຄືກັນກັບບໍ່ມີຂອບເຂດຈໍາກັດ.

ໃນອະນາຄົດ, ຜົນຜະລິດຂອງ xz -- ຫຸ່ນຍົນ --info-ຄວາມຊົງຈໍາ ອາດຈະມີຖັນຫຼາຍ, ແຕ່ບໍ່ເຄີຍ
ຫຼາຍກ່ວາເສັ້ນດຽວ.

ບັນ​ຊີ​ລາຍ​ຊື່ ຮູບແບບການ
xz -- ຫຸ່ນຍົນ --ລາຍການ ໃຊ້ຜົນຜະລິດທີ່ແຍກແທັບ. ຖັນທຳອິດຂອງທຸກໆແຖວມີສະຕຣິງ
ທີ່ຊີ້ບອກປະເພດຂອງຂໍ້ມູນທີ່ພົບເຫັນຢູ່ໃນແຖວນັ້ນ:

ຊື່ ນີ້ແມ່ນເສັ້ນທຳອິດສະເໝີເມື່ອເລີ່ມລາຍການໄຟລ໌. ຖັນທີສອງກ່ຽວກັບ
ເສັ້ນແມ່ນຊື່ໄຟລ໌.

ເອກະສານ ເສັ້ນນີ້ປະກອບດ້ວຍຂໍ້ມູນໂດຍລວມກ່ຽວກັບ .xz ໄຟລ໌. ເສັ້ນນີ້ແມ່ນຢູ່ສະເຫມີ
ພິມອອກຫຼັງຈາກ ຊື່ ເສັ້ນ.

ນ້ໍາ ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້​ລະ​ບຸ​ໄວ້​. ມີຫຼາຍເທົ່າ ນ້ໍາ
ສາຍຍ້ອນວ່າມີສາຍນ້ໍາຢູ່ໃນ .xz ຍື່ນ.

block ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້​ລະ​ບຸ​ໄວ້​. ມີຫຼາຍເທົ່າ block
ສາຍຍ້ອນວ່າມີຕັນຢູ່ໃນ .xz ແຟ້ມ. ທ block ສາຍແມ່ນສະແດງໃຫ້ເຫັນຫຼັງຈາກທັງຫມົດ
ນ້ໍາ ສາຍ; ປະເພດເສັ້ນທີ່ແຕກຕ່າງກັນແມ່ນບໍ່ interleaved.

ສະ​ຫຼຸບ​ສັງ​ລວມ
ປະເພດເສັ້ນນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ -- verbose ໄດ້​ລະ​ບຸ​ໄວ້​ສອງ​ຄັ້ງ​. ເສັ້ນນີ້ແມ່ນ
ພິມອອກຫຼັງຈາກທັງຫມົດ block ສາຍ. ເຊັ່ນດຽວກັນກັບ ເອກະສານ ເສັ້ນ, ໄດ້ ສະ​ຫຼຸບ​ສັງ​ລວມ ເສັ້ນປະກອບມີ
ຂໍ້​ມູນ​ໂດຍ​ລວມ​ກ່ຽວ​ກັບ​ການ​ .xz ຍື່ນ.

ຈຳ ນວນທັງ ໝົດ ເສັ້ນນີ້ແມ່ນເສັ້ນສຸດທ້າຍຂອງຜົນຜະລິດລາຍຊື່ສະເໝີ. ມັນສະແດງໃຫ້ເຫັນຈໍານວນທັງຫມົດ
ນັບ​ແລະ​ຂະ​ຫນາດ​.

ຖັນຂອງ ເອກະສານ ສາຍ:
2. ຈໍານວນຂອງສາຍນ້ໍາໃນໄຟລ໌
3. ຈຳນວນທ່ອນໄມ້ທັງໝົດໃນກະແສ
4. ບີບອັດຂະຫນາດຂອງໄຟລ໌
5. ຂະຫນາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດ
6. ອັດຕາສ່ວນການບີບອັດ, ສໍາລັບການຍົກຕົວຢ່າງ 0.123​. ຖ້າອັດຕາສ່ວນເກີນ 9.999, ສາມຂີດ
(---) ຖືກສະແດງແທນອັດຕາສ່ວນ.
7. ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ກວດສອບຄວາມສົມບູນ. ສະຕຣິງຕໍ່ໄປນີ້ຖືກໃຊ້
ສໍາລັບປະເພດການກວດສອບທີ່ຮູ້ຈັກ: ບໍ່ມີ, CRC32, CRC64, ແລະ SHA-256. ສໍາລັບການກວດສອບທີ່ບໍ່ຮູ້ຈັກ
ປະເພດ, ບໍ່ຮູ້ຈັກ-N ຖືກນໍາໃຊ້, ບ່ອນທີ່ N ແມ່ນ check ID ເປັນເລກທົດສະນິຍົມ (ໜຶ່ງ ຫຼື
ສອງຕົວເລກ).
8. ຂະຫນາດທັງຫມົດຂອງ stream padding ໃນໄຟລ໌

ຖັນຂອງ ນ້ໍາ ສາຍ:
2. ເລກສະຕຣີມ (ສາຍທຳອິດແມ່ນ 1)
3. ຈໍານວນຂອງຕັນໃນນ້ໍາ
4. ການບີບອັດເລີ່ມຕົ້ນຊົດເຊີຍ
5. Uncompressed start offset
6. ຂະໜາດທີ່ບີບອັດ (ບໍ່ລວມເອົາກະແສໄຟຟ້າ)
7. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
8. ອັດຕາສ່ວນການບີບອັດ
9. ຊື່ການກວດສອບຄວາມສົມບູນ
10. ຂະຫນາດຂອງນ້ໍາ padding

ຖັນຂອງ block ສາຍ:
2. ຈໍານວນນ້ໍາທີ່ມີຕັນນີ້
3. ບລັອກຕົວເລກທີ່ກ່ຽວຂ້ອງກັບຈຸດເລີ່ມຕົ້ນຂອງກະແສ (ຕັນທຳອິດແມ່ນ 1)
4. ບລັອກຕົວເລກທີ່ກ່ຽວຂ້ອງກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
5. compressed start offset ທຽບກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
6. Uncompressed start offset ທຽບກັບຈຸດເລີ່ມຕົ້ນຂອງໄຟລ໌
7. ຂະໜາດບີບອັດທັງໝົດຂອງບລັອກ (ລວມທັງສ່ວນຫົວ)
8. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
9. ອັດຕາສ່ວນການບີບອັດ
10. ຊື່ການກວດສອບຄວາມສົມບູນ

If -- verbose ໄດ້ຖືກລະບຸສອງຄັ້ງ, ຖັນເພີ່ມເຕີມແມ່ນລວມຢູ່ໃນ block ສາຍ.
ສິ່ງເຫຼົ່ານີ້ບໍ່ໄດ້ສະແດງດ້ວຍອັນດຽວ -- verbose, ເນື່ອງຈາກວ່າການໄດ້ຮັບຂໍ້ມູນນີ້ຮຽກຮ້ອງໃຫ້ມີ
ຫຼາຍຄົນຊອກຫາແລະດັ່ງນັ້ນຈຶ່ງສາມາດຊ້າ:
11. ຄ່າຂອງການກວດສອບຄວາມຖືກຕ້ອງໃນເລກຖານສິບຫົກ
12. ບລັອກຂະໜາດຫົວ
13. ທຸງຕັນ: c ຊີ້ໃຫ້ເຫັນວ່າຂະຫນາດທີ່ຖືກບີບອັດແມ່ນມີຢູ່, ແລະ u ຊີ້ໃຫ້ເຫັນວ່າ
ຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນມີຢູ່. ຖ້າບໍ່ໄດ້ຕັ້ງທຸງ, ຂີດຕໍ່ (-) ສະ​ແດງ​ໃຫ້​ເຫັນ​
ແທນທີ່ຈະຮັກສາຄວາມຍາວຂອງສະຕຣິງຄົງທີ່. ທຸງໃຫມ່ອາດຈະຖືກເພີ່ມໃສ່ໃນຕອນທ້າຍຂອງ
ສະຕິງໃນອະນາຄົດ.
14. ຂະຫນາດຂອງຂໍ້ມູນທີ່ຖືກບີບອັດຕົວຈິງໃນບລັອກ (ອັນນີ້ບໍ່ລວມບລັອກ
header, block padding, ແລະ check fields)
15. ຈໍານວນຫນ່ວຍຄວາມຈໍາ (ໃນ bytes) ທີ່ຕ້ອງການເພື່ອ decompress block ນີ້ດ້ວຍນີ້ xz
ສະບັບພາສາ
16. ຕ່ອງໂສ້ການກັ່ນຕອງ. ໃຫ້ສັງເກດວ່າຕົວເລືອກສ່ວນໃຫຍ່ທີ່ໃຊ້ໃນເວລາບີບອັດບໍ່ສາມາດເປັນໄດ້
ເປັນທີ່ຮູ້ຈັກ, ເພາະວ່າພຽງແຕ່ຕົວເລືອກທີ່ຈໍາເປັນສໍາລັບການບີບອັດຖືກເກັບໄວ້ໃນ
ໄດ້ .xz ສ່ວນຫົວ.

ຖັນຂອງ ສະ​ຫຼຸບ​ສັງ​ລວມ ສາຍ:
2. ຈໍານວນຫນ່ວຍຄວາມຈໍາ (ໃນ bytes) ທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌ນີ້ xz
ສະບັບພາສາ
3. yes or no ຊີ້ບອກວ່າຫົວບລັອກທັງໝົດມີທັງຂະໜາດບີບອັດ ແລະ
ຂະ​ຫນາດ​ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ພວກ​ເຂົາ​
ນັບຕັ້ງແຕ່ xz 5.1.2 ອັນຟາ:
4. ຕ່ ຳ ສຸດ xz ສະບັບທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌

ຖັນຂອງ ຈຳ ນວນທັງ ໝົດ line:
2. ຈຳນວນສາຍນ້ຳ
3. ຈໍານວນຕັນ
4. ຂະຫນາດບີບອັດ
5. ຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ
6. ອັດຕາສ່ວນການບີບອັດສະເລ່ຍ
7. ບັນຊີລາຍຊື່ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຊື່ກວດສອບຄວາມສົມບູນທີ່ມີຢູ່ໃນໄຟລ໌
8. Stream padding size
9. ຈໍານວນໄຟລ໌. ນີ້ແມ່ນຢູ່ທີ່ນີ້ເພື່ອຮັກສາຄໍາສັ່ງຂອງຖັນກ່ອນຫນ້ານີ້
ເຊັ່ນ​ດຽວ​ກັນ​ກັບ​ ເອກະສານ ສາຍ.

If -- verbose ໄດ້ຖືກລະບຸສອງຄັ້ງ, ຖັນເພີ່ມເຕີມແມ່ນລວມຢູ່ໃນ ຈຳ ນວນທັງ ໝົດ line:
10. ຈໍາ​ນວນ​ສູງ​ສຸດ​ຂອງ​ຫນ່ວຍ​ຄວາມ​ຈໍາ (ໃນ bytes​) ຕ້ອງ​ການ​ເພື່ອ decompress ໄຟລ​໌​ທີ່​ມີ​ນີ້​
xz ສະບັບພາສາ
11​. yes or no ຊີ້ບອກວ່າຫົວບລັອກທັງໝົດມີທັງຂະໜາດບີບອັດ ແລະ
ຂະ​ຫນາດ​ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​ພວກ​ເຂົາ​
ນັບຕັ້ງແຕ່ xz 5.1.2 ອັນຟາ:
12. ຕ່ ຳ ສຸດ xz ສະບັບທີ່ຕ້ອງການເພື່ອ decompress ໄຟລ໌

ຮຸ່ນໃນອະນາຄົດອາດຈະເພີ່ມປະເພດເສັ້ນໃຫມ່ແລະຖັນໃຫມ່ສາມາດຖືກເພີ່ມໃສ່ແຖວທີ່ມີຢູ່ແລ້ວ
ປະເພດ, ແຕ່ຖັນທີ່ມີຢູ່ແລ້ວຈະບໍ່ມີການປ່ຽນແປງ.

ອອກ STATUS


0 ທັງ ໝົດ ແມ່ນດີ.

1 ເກີດຄວາມຜິດພາດ.

2 ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ທີ່​ມີ​ຄ່າ​ເປັນ​ການ​ເຕືອນ​ໄພ​ໄດ້​ເກີດ​ຂຶ້ນ​, ແຕ່​ວ່າ​ບໍ່​ມີ​ຄວາມ​ຜິດ​ພາດ​ທີ່​ແທ້​ຈິງ​ເກີດ​ຂຶ້ນ​.

ແຈ້ງການ (ບໍ່ແມ່ນຄໍາເຕືອນຫຼືຄວາມຜິດພາດ) ທີ່ພິມໃນຄວາມຜິດພາດມາດຕະຖານບໍ່ມີຜົນຕໍ່ສະຖານະການອອກ.

ENVIRONMENT


xz parses ບັນຊີລາຍຊື່ທີ່ແຍກຕ່າງຫາກ space ຂອງທາງເລືອກຈາກຕົວແປສະພາບແວດລ້ອມ XZ_DEFAULTS ແລະ
XZ_OPT, ໃນຄໍາສັ່ງນີ້, ກ່ອນທີ່ຈະແຍກທາງເລືອກຈາກເສັ້ນຄໍາສັ່ງ. ໃຫ້ສັງເກດວ່າພຽງແຕ່
ທາງເລືອກແມ່ນໄດ້ແຍກຈາກຕົວແປສະພາບແວດລ້ອມ; ຕົວເລືອກທີ່ບໍ່ແມ່ນທັງໝົດແມ່ນຖືກລະເລີຍຢ່າງງຽບໆ.
ການແຍກວິເຄາະແມ່ນເຮັດດ້ວຍ getopt_long(3) ເຊິ່ງໃຊ້ສໍາລັບການໂຕ້ຖຽງແຖວຄໍາສັ່ງ.

XZ_DEFAULTS
ຕົວເລືອກເລີ່ມຕົ້ນສະເພາະຜູ້ໃຊ້ ຫຼືທົ່ວລະບົບ. ໂດຍປົກກະຕິ, ມັນຖືກຕັ້ງຢູ່ໃນເປືອກ
script ການເລີ່ມຕົ້ນເພື່ອເປີດໃຊ້ງານ xzຈໍາກັດການໃຊ້ຄວາມຈໍາຂອງໂດຍຄ່າເລີ່ມຕົ້ນ. ບໍ່ລວມ
Shell scripts ເລີ່ມຕົ້ນແລະກໍລະນີພິເສດທີ່ຄ້າຍຄືກັນ, scripts ບໍ່ເຄີຍກໍານົດຫຼື
ກຳ ນົດ XZ_DEFAULTS.

XZ_OPT ນີ້ແມ່ນສໍາລັບການຖ່າຍທອດທາງເລືອກໃນການ xz ໃນເວລາທີ່ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະກໍານົດທາງເລືອກ
ໂດຍກົງໃນ xz ເສັ້ນຄໍາສັ່ງ. ນີ້ແມ່ນກໍລະນີເຊັ່ນ: ໃນເວລາທີ່ xz ແມ່ນດໍາເນີນການໂດຍ script
ຫຼືເຄື່ອງມື, ເຊັ່ນ: GNU tar(1):

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

ສະຄຣິບອາດຈະໃຊ້ XZ_OPT e.g. ເພື່ອກໍານົດຕົວເລືອກການບີບອັດໃນຕອນຕົ້ນສະເພາະສະຄຣິບ. ມັນ
ຍັງແນະນໍາໃຫ້ຜູ້ໃຊ້ສາມາດ override ໄດ້ XZ_OPT ຖ້າມັນສົມເຫດສົມຜົນ, ຕົວຢ່າງ
in sh(1) scripts ຫນຶ່ງອາດຈະໃຊ້ບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:

XZ_OPT=${XZ_OPT-"-7e"}
ສົ່ງອອກ XZ_OPT

LZMA UTILS ຄວາມເຂົ້າກັນໄດ້


syntax ເສັ້ນຄໍາສັ່ງຂອງ xz ຕົວຈິງແລ້ວແມ່ນ superset ຂອງ lzma, unlzma, ແລະ lzcat as
ພົບຈາກ LZMA Utils 4.32.x. ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ມັນເປັນໄປໄດ້ທີ່ຈະທົດແທນ LZMA Utils ດ້ວຍ XZ
Utils ໂດຍບໍ່ມີການທໍາລາຍສະຄິບທີ່ມີຢູ່ແລ້ວ. ມີຄວາມບໍ່ເຂົ້າກັນບາງຢ່າງ, ທີ່
ບາງຄັ້ງອາດຈະເຮັດໃຫ້ເກີດບັນຫາ.

ການບີບອັດ ຕັ້ງໄວ້ລ່ວງ ໜ້າ ລະດັບ
ຕົວເລກຂອງ presets ລະດັບ compression ແມ່ນບໍ່ຄືກັນໃນ xz ແລະ LZMA Utils. ໄດ້
ຄວາມແຕກຕ່າງທີ່ ສຳ ຄັນທີ່ສຸດແມ່ນວິທີການຂະ ໜາດ ວັດຈະນານຸກົມຖືກແຜນທີ່ກັບ presets ທີ່ແຕກຕ່າງກັນ.
ຂະ​ຫນາດ​ວັດ​ຈະ​ນາ​ນຸ​ກົມ​ແມ່ນ​ປະ​ມານ​ເທົ່າ​ກັບ​ການ​ນໍາ​ໃຊ້​ຫນ່ວຍ​ຄວາມ​ຈໍາ decompressor​.

ລະດັບ xz LZMA Utils
-0 256 KiB N/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

ຄວາມແຕກຕ່າງຂອງຂະ ໜາດ ວັດຈະນານຸກົມມີຜົນຕໍ່ການໃຊ້ຄວາມຊົງ ຈຳ ຂອງເຄື່ອງບີບອັດ, ແຕ່ມີບາງອັນ
ຄວາມແຕກຕ່າງອື່ນໆລະຫວ່າງ LZMA Utils ແລະ XZ Utils, ເຊິ່ງເຮັດໃຫ້ຄວາມແຕກຕ່າງທີ່ໃຫຍ່ກວ່າ:

ລະດັບ xz LZMA Utils 4.32.x
-0 3 MiB N/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

ລະດັບການຕັ້ງຄ່າໄວ້ໃນຕອນຕົ້ນໃນ LZMA Utils ແມ່ນ -7 ໃນຂະນະທີ່ຢູ່ໃນ XZ Utils ມັນແມ່ນ -6ດັ່ງນັ້ນທັງສອງໃຊ້ 8
ວັດຈະນານຸກົມ MiB ໂດຍຄ່າເລີ່ມຕົ້ນ.

ສາຍນ້ ຳ ທຽບ ບໍ່ໄດ້ຖ່າຍທອດ .lzma ໄຟ
ຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດຂອງໄຟລ໌ສາມາດຖືກເກັບໄວ້ໃນ .lzma ສ່ວນຫົວ. LZMA Utils ເຮັດແນວນັ້ນ
ເມື່ອບີບອັດໄຟລ໌ປົກກະຕິ. ທາງເລືອກແມ່ນເພື່ອຫມາຍວ່າຂະຫນາດທີ່ບໍ່ໄດ້ບີບອັດແມ່ນ
ບໍ່ຮູ້ຈັກ ແລະໃຊ້ເຄື່ອງໝາຍການສົ່ງເງິນປາຍທາງເພື່ອຊີ້ບອກບ່ອນທີ່ເຄື່ອງ decompressor ຄວນຢຸດ.
LZMA Utils ໃຊ້ວິທີນີ້ເມື່ອບໍ່ຮູ້ຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດ, ເຊິ່ງເປັນກໍລະນີ
ຕົວຢ່າງໃນທໍ່.

xz ສະຫນັບສະຫນູນ decompressing .lzma ໄຟລ໌ທີ່ມີ ຫຼືບໍ່ມີເຄື່ອງໝາຍສິ້ນສຸດການຈ່າຍ, ແຕ່ທັງໝົດ .lzma
ໄຟລ໌ທີ່ສ້າງຂຶ້ນໂດຍ xz ຈະໃຊ້ເຄື່ອງໝາຍ end-of-payload ແລະ ມີຂະໜາດທີ່ບໍ່ໄດ້ບີບອັດໝາຍເປັນ
ບໍ່ຮູ້ຈັກໃນ .lzma ສ່ວນຫົວ. ນີ້ອາດຈະເປັນບັນຫາໃນບາງສະຖານະການທີ່ບໍ່ທໍາມະດາ. ສໍາລັບ
ຕົວຢ່າງ, a .lzma decompressor ໃນອຸປະກອນຝັງອາດຈະເຮັດວຽກພຽງແຕ່ກັບໄຟລ໌ທີ່ມີ
ຂະໜາດທີ່ບໍ່ຖືກບີບອັດທີ່ຮູ້ຈັກ. ຖ້າທ່ານປະສົບບັນຫານີ້, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ LZMA Utils ຫຼື LZMA SDK
ເພື່ອສ້າງ .lzma ໄຟລ໌ທີ່ຮູ້ຈັກຂະຫນາດທີ່ບໍ່ຖືກບີບອັດ.

ບໍ່ສະຫນັບສະຫນູນ .lzma ໄຟ
ໄດ້ .lzma ຮູບ​ແບບ​ອະ​ນຸ​ຍາດ​ໃຫ້​ lc ຄ່າສູງເຖິງ 8, ແລະ lp ຄ່າສູງເຖິງ 4. LZMA Utils ສາມາດ
decompress ໄຟລ໌ດ້ວຍອັນໃດ lc ແລະ lp, ແຕ່ສະເຫມີສ້າງໄຟລ໌ທີ່ມີ lc=3 ແລະ lp=0.
ການ​ສ້າງ​ໄຟລ​໌​ກັບ​ອື່ນໆ​ lc ແລະ lp ເປັນ​ໄປ​ໄດ້​ກັບ​ xz ແລະດ້ວຍ LZMA SDK.

ການປະຕິບັດຕົວກອງ LZMA1 ໃນ liblzma ຮຽກຮ້ອງໃຫ້ຜົນລວມຂອງ lc ແລະ lp ຕ້ອງ
ບໍ່ເກີນ 4. ດັ່ງນັ້ນ, .lzma ໄຟລ໌ທີ່ເກີນຂອບເຂດຈໍາກັດນີ້, ບໍ່ສາມາດຖືກບີບອັດໄດ້
ກັບ xz.

LZMA Utils ສ້າງພຽງແຕ່ .lzma ໄຟລ໌ທີ່ມີຂະຫນາດວັດຈະນານຸກົມຂອງ 2^n (ພະລັງງານຂອງ 2) ແຕ່
ຍອມຮັບໄຟລ໌ທີ່ມີຂະຫນາດວັດຈະນານຸກົມໃດນຶ່ງ. liblzma ຍອມຮັບພຽງແຕ່ .lzma ໄຟລ໌ທີ່ມີ a
ຂະໜາດວັດຈະນານຸກົມຂອງ 2^n ຫຼື 2^n + 2^(n-1). ນີ້ແມ່ນເພື່ອຫຼຸດລົງໃນທາງບວກທີ່ບໍ່ຖືກຕ້ອງໃນເວລາທີ່
ການຊອກຄົ້ນຫາ .lzma ໄຟລ໌.

ຂໍ້ຈໍາກັດເຫຼົ່ານີ້ບໍ່ຄວນຈະເປັນບັນຫາໃນການປະຕິບັດ, ນັບຕັ້ງແຕ່ການປະຕິບັດທັງຫມົດ .lzma ໄຟ
ໄດ້ຖືກບີບອັດດ້ວຍການຕັ້ງຄ່າທີ່ liblzma ຈະຍອມຮັບ.

Trailing ຂີ້ເຫຍື້ອ
ໃນເວລາທີ່ decompressing, LZMA Utils silently ignore ທຸກສິ່ງທຸກຢ່າງຫຼັງຈາກທໍາອິດ .lzma stream
ໃນສະຖານະການສ່ວນໃຫຍ່, ນີ້ແມ່ນແມງໄມ້. ນີ້ຍັງຫມາຍຄວາມວ່າ LZMA Utils ບໍ່ສະຫນັບສະຫນູນ
decompressing concatenated .lzma ໄຟລ໌.

ຖ້າມີຂໍ້ມູນປະໄວ້ຫຼັງຈາກທໍາອິດ .lzma ກະແສ, xz ຖືວ່າໄຟລ໌ເສຍຫາຍ
ເວັ້ນເສຍແຕ່ວ່າ -- ກະແສດຽວ ຖືກນໍາໃຊ້. ນີ້ອາດຈະທໍາລາຍສະຄິບທີ່ບໍ່ຊັດເຈນທີ່ສົມມຸດວ່າ
ຂີ້ເຫຍື້ອຕາມຫຼັງແມ່ນຖືກລະເລີຍ.

ຫມາຍເຫດ


ບີບອັດ output ອາດຈະ ແຕກຕ່າງກັນ
ຜົນ​ຜະ​ລິດ​ທີ່​ຖືກ​ບີບ​ອັດ​ທີ່​ແນ່​ນອນ​ທີ່​ຜະ​ລິດ​ຈາກ​ໄຟລ​໌​ທີ່​ບໍ່​ໄດ້​ບີບ​ອັດ​ດຽວ​ກັນ​ອາດ​ຈະ​ແຕກ​ຕ່າງ​ກັນ​
ລະຫວ່າງລຸ້ນ XZ Utils ເຖິງແມ່ນວ່າຕົວເລືອກການບີບອັດແມ່ນຄືກັນ. ນີ້ແມ່ນຍ້ອນວ່າ
ຕົວເຂົ້າລະຫັດສາມາດໄດ້ຮັບການປັບປຸງ (ການບີບອັດໄວຫຼືດີກວ່າ) ໂດຍບໍ່ມີຜົນກະທົບຕໍ່ຮູບແບບໄຟລ໌.
ຜົນຜະລິດສາມາດແຕກຕ່າງກັນເຖິງແມ່ນວ່າລະຫວ່າງການກໍ່ສ້າງທີ່ແຕກຕ່າງກັນຂອງ XZ Utils ຮຸ່ນດຽວກັນ, ຖ້າ
ທາງເລືອກການກໍ່ສ້າງທີ່ແຕກຕ່າງກັນຖືກນໍາໃຊ້.

ຂ້າງເທິງນີ້ຫມາຍຄວາມວ່າການປະຕິບັດ --syncable ເພື່ອສ້າງ rsyncable .xz ໄຟລ໌ບໍ່ໄປ
ທີ່ຈະເກີດຂຶ້ນໂດຍບໍ່ມີການ freezing ສ່ວນຫນຶ່ງຂອງການປະຕິບັດຕົວເຂົ້າລະຫັດ, ເຊິ່ງຫຼັງຈາກນັ້ນສາມາດຖືກນໍາໃຊ້
ກັບ --syncable.

ຝັງ .xz decompressors
ຝັງ .xz ການປະຕິບັດ decompressor ເຊັ່ນ XZ Embedded ບໍ່ຈໍາເປັນຕ້ອງສະຫນັບສະຫນູນໄຟລ໌
ສ້າງດ້ວຍຄວາມຊື່ສັດ ໃຫ້​ກວດ​ເບິ່ງ ປະເພດອື່ນນອກຈາກ none ແລະ crc32. ນັບຕັ້ງແຕ່ຄ່າເລີ່ມຕົ້ນແມ່ນ
--check=crc64, ເຈົ້າຕ້ອງໃຊ້ --check=none or --check=crc32 ເມື່ອສ້າງໄຟລ໌ສໍາລັບການຝັງ
ລະບົບ.

ພາຍນອກລະບົບຝັງ, ທັງຫມົດ .xz decompressors ຮູບແບບສະຫນັບສະຫນູນທັງຫມົດ ໃຫ້​ກວດ​ເບິ່ງ ປະເພດ, ຫຼືຢູ່
ຢ່າງຫນ້ອຍສາມາດ decompress ໄຟລ໌ໂດຍບໍ່ມີການກວດສອບຄວາມຖືກຕ້ອງຂອງການກວດສອບຖ້າຫາກວ່າໄດ້
ໂດຍສະເພາະ ໃຫ້​ກວດ​ເບິ່ງ ບໍ່ໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ.

XZ Embedded ຮອງຮັບຕົວກອງ BCJ, ແຕ່ວ່າພຽງແຕ່ມີການຊົດເຊີຍເລີ່ມຕົ້ນເລີ່ມຕົ້ນເທົ່ານັ້ນ.

ຕົວຢ່າງ


ຄວາມຮູ້ພື້ນຖານ
ບີບອັດໄຟລ໌ ຟູ ເຂົ້າໄປໃນ foo.xz ການນໍາໃຊ້ລະດັບການບີບອັດເລີ່ມຕົ້ນ (-6), ແລະເອົາອອກ ຟູ
ຖ້າການບີບອັດສຳເລັດ:

xz ໂຟ

Decompress bar.xz ເຂົ້າໄປໃນ ພາທະນາຍຄວາມ ແລະຢ່າເອົາອອກ bar.xz ເຖິງແມ່ນວ່າການບີບອັດຈະປະສົບຜົນສໍາເລັດ:

xz -dk bar.xz

ສ້າງ baz.tar.xz ກັບ preset ໄດ້ -4e (-4 -- ທີ່ສຸດ), ເຊິ່ງຊ້າກວ່າຕົວຢ່າງເຊັ່ນ
Default -6, ແຕ່ຕ້ອງການຫນ່ວຍຄວາມຈໍາຫນ້ອຍສໍາລັບການບີບອັດແລະການບີບອັດ (48 MiB ແລະ 5 MiB,
ຕາມລໍາດັບ):

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

ການປະສົມຂອງໄຟລ໌ທີ່ຖືກບີບອັດແລະບໍ່ຖືກບີບອັດສາມາດ decompressed ເປັນຜົນຜະລິດມາດຕະຖານດ້ວຍ a
ຄໍາ​ສັ່ງ​ດຽວ​:

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

ຂະຫນານ compression of ຈໍານວນຫຼາຍ ໄຟ
ໃນ GNU ແລະ *BSD, ຊອກຫາ(1) ແລະ xargs(1​) ສາ​ມາດ​ນໍາ​ໃຊ້​ເພື່ອ parallelize compression ຂອງ​ຈໍາ​ນວນ​ຫຼາຍ​
ແຟ້ມ:

ຊອກຫາ. -type f \! -ຊື່ '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

ໄດ້ -P ທາງເລືອກທີ່ຈະ xargs(1) ກໍານົດຈໍານວນຂອງຂະຫນານ xz ຂະບວນການ. ມູນຄ່າທີ່ດີທີ່ສຸດສໍາລັບ
ໄດ້ -n ທາງ​ເລືອກ​ແມ່ນ​ຂຶ້ນ​ກັບ​ຈໍາ​ນວນ​ຫຼາຍ​ໄຟລ​໌​ທີ່​ຈະ​ຖືກ​ບີບ​ອັດ​. ຖ້າມີພຽງແຕ່ a
ຄູ່ຂອງໄຟລ໌, ມູນຄ່າຄວນຈະເປັນ 1; ມີຫຼາຍສິບພັນໄຟລ໌, 100 ຫຼື
ແມ້ກະທັ້ງຫຼາຍອາດຈະເຫມາະສົມທີ່ຈະຫຼຸດຜ່ອນຈໍານວນຂອງ xz ຂະບວນການນັ້ນ xargs(1) ຈະ
ໃນ​ທີ່​ສຸດ​ສ້າງ.

ທາງເລືອກ 1 ສໍາລັບການ xz ຢູ່ທີ່ນັ້ນເພື່ອບັງຄັບມັນໄປສູ່ໂຫມດກະທູ້ດຽວ, ເພາະວ່າ xargs(ປີ 1) ແມ່ນ
ໃຊ້ເພື່ອຄວບຄຸມປະລິມານຂະໜານ.

ຫຸ່ນຍົນ ຮູບແບບການ
ຄິດໄລ່ຈໍານວນ bytes ໄດ້ຖືກບັນທຶກໄວ້ໃນຈໍານວນທັງຫມົດຫຼັງຈາກການບີບອັດຫຼາຍໄຟລ໌:

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

script ອາດຕ້ອງການຮູ້ວ່າມັນກໍາລັງໃຊ້ໃຫມ່ພຽງພໍ xz. ຕໍ່ໄປນີ້ sh(1) script
ກວດເບິ່ງວ່າຈໍານວນສະບັບຂອງ xz ເຄື່ອງມືແມ່ນຢ່າງຫນ້ອຍ 5.0.0. ວິທີການນີ້ແມ່ນ
ເຂົ້າກັນໄດ້ກັບລຸ້ນເບຕ້າເກົ່າ, ເຊິ່ງບໍ່ຮອງຮັບ -- ຫຸ່ນຍົນ ຕົວເລືອກ:

ຖ້າ ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; ແລ້ວ
echo "xz ຂອງທ່ານເກົ່າເກີນໄປ."
fi
ບໍ່ໄດ້ຕັ້ງ XZ_VERSION LIBLZMA_VERSION

ກໍານົດຂອບເຂດຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາສໍາລັບການ decompression ການນໍາໃຊ້ XZ_OPT, ແຕ່ຖ້າມີຂອບເຂດຈໍາກັດແລ້ວ
ຕັ້ງ, ຢ່າເພີ່ມມັນ:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memory | cut -f3)
ຖ້າ [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; ແລ້ວ
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
ສົ່ງອອກ XZ_OPT
fi

Custom ເຄື່ອງອັດ ການກັ່ນຕອງ chains
ການນໍາໃຊ້ທີ່ງ່າຍດາຍທີ່ສຸດສໍາລັບຕ່ອງໂສ້ການກັ່ນຕອງແບບກໍາຫນົດເອງແມ່ນການປັບແຕ່ງ LZMA2 preset. ນີ້ສາມາດເປັນ
ທີ່ເປັນປະໂຫຍດ, ເນື່ອງຈາກວ່າ presets ກວມເອົາພຽງແຕ່ຊຸດຍ່ອຍຂອງການປະສົມປະສານທີ່ເປັນປະໂຫຍດຂອງ
ການຕັ້ງຄ່າການບີບອັດ.

ຖັນ CompCPU ຂອງຕາຕະລາງຈາກຄໍາອະທິບາຍຂອງທາງເລືອກ -0 ... -9 ແລະ
-- ທີ່ສຸດ ມີປະໂຫຍດໃນເວລາປັບແຕ່ງ LZMA2 presets. ນີ້ແມ່ນພາກສ່ວນທີ່ກ່ຽວຂ້ອງ
ລວບລວມຈາກສອງຕາຕະລາງນັ້ນ:

Preset CompCPU
-0 0 XNUMX
-1 1 XNUMX
-2 2 XNUMX
-3 3 XNUMX
-4 4 XNUMX
-5 5 XNUMX
-6 6 XNUMX
-5e 7
-6e 8

ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຮູ້​ວ່າ​ໄຟລ​໌​ຕ້ອງ​ການ​ຈະ​ນາ​ນຸ​ກົມ​ຂະ​ຫນາດ​ໃຫຍ່ (ເຊັ່ນ 32 MiB) ເພື່ອ​ອັດ​ໄດ້​ດີ​,
ແຕ່ທ່ານຕ້ອງການບີບອັດໄວກວ່າ xz -8 ຈະເຮັດແນວໃດ, preset ທີ່ມີຄ່າ CompCPU ຕ່ໍາ
(ເຊັ່ນ: 1) ສາມາດດັດແກ້ເພື່ອໃຊ້ວັດຈະນານຸກົມໃຫຍ່ກວ່າ:

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

ດ້ວຍໄຟລ໌ທີ່ແນ່ນອນ, ຄໍາສັ່ງຂ້າງເທິງອາດຈະໄວກວ່າ xz -6 ໃນຂະນະທີ່ກໍາລັງບີບອັດ
ດີຂຶ້ນຢ່າງຫຼວງຫຼາຍ. ຢ່າງໃດກໍ່ຕາມ, ມັນຕ້ອງໄດ້ຮັບການເນັ້ນຫນັກວ່າພຽງແຕ່ບາງໄຟລ໌ໄດ້ຮັບຜົນປະໂຫຍດຈາກ a
ວັດຈະນານຸກົມໃຫຍ່ໃນຂະນະທີ່ຮັກສາຄ່າ CompCPU ຕໍ່າ. ສະຖານະການທີ່ຈະແຈ້ງທີ່ສຸດ, ບ່ອນທີ່ ກ
ວັດຈະນານຸກົມໃຫຍ່ສາມາດຊ່ວຍໄດ້ຫຼາຍ, ເປັນບ່ອນເກັບມ້ຽນທີ່ປະກອບດ້ວຍໄຟລ໌ທີ່ຄ້າຍຄືກັນຫຼາຍຢ່າງຫນ້ອຍ a
ບໍ່ຫຼາຍປານໃດ megabytes ແຕ່ລະຄົນ. ຂະໜາດວັດຈະນານຸກົມຈະຕ້ອງໃຫຍ່ກວ່າອັນໃດອັນໜຶ່ງ
ໄຟລ໌ສ່ວນບຸກຄົນເພື່ອໃຫ້ LZMA2 ໃຊ້ປະໂຫຍດອັນເຕັມທີ່ຂອງຄວາມຄ້າຍຄືກັນລະຫວ່າງ
ໄຟລ໌ຕິດຕໍ່ກັນ.

ຖ້າ compressor ສູງຫຼາຍແລະ decompressor ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາແມ່ນດີ, ແລະໄຟລ໌ເປັນ
ການບີບອັດແມ່ນຢ່າງຫນ້ອຍຫຼາຍຮ້ອຍ megabytes, ມັນອາດຈະເປັນປະໂຫຍດທີ່ຈະໃຊ້ຂະຫນາດໃຫຍ່ກວ່າ
ວັດຈະນານຸກົມກ່ວາ 64 MiB ນັ້ນ xz -9 ຈະ​ນໍາ​ໃຊ້​:

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

ການນໍາໃຊ້ -vv (-- verbose -- verbose) ເຊັ່ນໃນຕົວຢ່າງຂ້າງເທິງສາມາດເປັນປະໂຫຍດເພື່ອເບິ່ງຄວາມຊົງຈໍາ
ຄວາມຕ້ອງການຂອງເຄື່ອງອັດແລະ decompressor. ຈື່ໄວ້ວ່າໃຊ້ວັດຈະນານຸກົມໃຫຍ່ກວ່າ
ຫຼາຍກ່ວາຂະຫນາດຂອງໄຟລ໌ທີ່ບໍ່ໄດ້ບີບອັດແມ່ນເສຍຄວາມຈໍາ, ດັ່ງນັ້ນຄໍາສັ່ງຂ້າງເທິງບໍ່ແມ່ນ
ທີ່ເປັນປະໂຫຍດສໍາລັບໄຟລ໌ຂະຫນາດນ້ອຍ.

ບາງຄັ້ງເວລາບີບອັດບໍ່ສໍາຄັນ, ແຕ່ການໃຊ້ຫນ່ວຍຄວາມຈໍາ decompressor ຕ້ອງມີ
ເກັບຮັກສາໄວ້ຕ່ໍາເຊັ່ນເພື່ອເຮັດໃຫ້ມັນເປັນໄປໄດ້ທີ່ຈະ decompress ໄຟລ໌ໃນລະບົບຝັງ. ໄດ້
ການນໍາໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້ -6e (-6 -- ທີ່ສຸດ) ເປັນພື້ນຖານແລະກໍານົດວັດຈະນານຸກົມພຽງແຕ່
64 ກິບ. ໄຟລ໌ຜົນໄດ້ຮັບສາມາດຖືກບີບອັດດ້ວຍ XZ Embedded (ນັ້ນແມ່ນເຫດຜົນທີ່ວ່າມີ
--check=crc32) ການ​ນໍາ​ໃຊ້​ປະ​ມານ 100 KiB ຂອງ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​.

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

ຖ້າທ່ານຕ້ອງການທີ່ຈະບີບອອກຫຼາຍ bytes ເທົ່າທີ່ເປັນໄປໄດ້, ປັບຈໍານວນຕົວຫນັງສື
ບໍລິບົດບິດ (lc) ແລະ​ຈໍາ​ນວນ​ຕໍາ​ແຫນ່ງ bits (pb) ບາງຄັ້ງສາມາດຊ່ວຍໄດ້. ການ​ປັບ​
ຈໍາ​ນວນ​ຂອງ​ຕໍາ​ແຫນ່ງ​ຕົວ​ອັກ​ສອນ (lp) ອາດ​ຈະ​ຊ່ວຍ​ໄດ້​ເຊັ່ນ​ດຽວ​ກັນ​, ແຕ່​ໂດຍ​ປົກ​ກະ​ຕິ​ lc ແລະ pb ມີຫຼາຍ
ສຳຄັນ. ເຊັ່ນ: ແຟ້ມຈັດເກັບລະຫັດແຫຼ່ງສ່ວນໃຫຍ່ແມ່ນມີຂໍ້ຄວາມ US-ASCII, ດັ່ງນັ້ນບາງສິ່ງບາງຢ່າງເຊັ່ນ:
ຕໍ່​ໄປ​ນີ້​ອາດ​ຈະ​ໃຫ້​ພຽງ​ເລັກ​ນ້ອຍ (ເຊັ່ນ​: 0.1 %) ໄຟລ​໌​ຂະ​ຫນາດ​ນ້ອຍ​ກ​່​ວາ​ xz -6e (ພະຍາຍາມເຊັ່ນດຽວກັນໂດຍບໍ່ມີການ
lc=4):

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

ການໃຊ້ຕົວກອງອື່ນຮ່ວມກັບ LZMA2 ສາມາດປັບປຸງການບີບອັດດ້ວຍໄຟລ໌ບາງປະເພດ.
ເຊັ່ນ: ເພື່ອບີບອັດຫ້ອງສະໝຸດທີ່ແບ່ງປັນ x86-32 ຫຼື x86-64 ໂດຍໃຊ້ຕົວກອງ x86 BCJ:

xz --x86 --lzma2 libfoo.so

ໃຫ້ສັງເກດວ່າຄໍາສັ່ງຂອງຕົວເລືອກການກັ່ນຕອງແມ່ນສໍາຄັນ. ຖ້າ --x86 ແມ່ນ​ລະ​ບຸ​ໄວ້​ຫຼັງ​ຈາກ​
--lzma2, xz ຈະໃຫ້ຄວາມຜິດພາດ, ເພາະວ່າບໍ່ສາມາດມີການກັ່ນຕອງໃດໆຫຼັງຈາກ LZMA2, ແລະເຊັ່ນດຽວກັນ
ເນື່ອງຈາກວ່າຕົວກອງ x86 BCJ ບໍ່ສາມາດໃຊ້ເປັນຕົວກອງສຸດທ້າຍໃນຕ່ອງໂສ້.

ການກັ່ນຕອງ Delta ຮ່ວມກັບ LZMA2 ສາມາດໃຫ້ຜົນໄດ້ຮັບທີ່ດີກັບຮູບພາບ bitmap. ມັນ​ຄວນ
ປົກກະຕິແລ້ວຕີ PNG, ທີ່ມີຕົວກອງທີ່ກ້າວຫນ້າຫຼາຍກ່ວາ delta ງ່າຍໆແຕ່ໃຊ້ Deflate
ສໍາລັບການບີບອັດຕົວຈິງ.

ຮູບພາບຕ້ອງໄດ້ຮັບການບັນທຶກໄວ້ໃນຮູບແບບທີ່ບໍ່ໄດ້ບີບອັດ, ເຊັ່ນວ່າ TIFF ທີ່ບໍ່ຖືກບີບອັດ. ໄລຍະຫ່າງ
ພາລາມິເຕີຂອງການກັ່ນຕອງ Delta ຖືກກໍານົດໃຫ້ກົງກັບຈໍານວນ bytes ຕໍ່ pixels ໃນຮູບ.
ເຊັ່ນວ່າ 24-bit RGB bitmap ຕ້ອງການ dist=3, ແລະມັນຍັງດີທີ່ຈະຜ່ານ pb=0 ກັບ LZMA2 ກັບ
ຮອງຮັບການຈັດຮຽງສາມໄບ:

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

ຖ້າ​ຫາກ​ວ່າ​ຫຼາຍ​ຮູບ​ພາບ​ໄດ້​ຮັບ​ການ​ເອົາ​ເຂົ້າ​ໄປ​ໃນ​ການ​ເກັບ​ຮັກ​ສາ​ດຽວ (eg .tar), ການກັ່ນຕອງ Delta ຈະ
ເຮັດ​ວຽກ​ກ່ຽວ​ກັບ​ການ​ເຊັ່ນ​ດຽວ​ກັນ​ຕາບ​ໃດ​ຮູບ​ພາບ​ທັງ​ຫມົດ​ມີ​ຈໍາ​ນວນ​ດຽວ​ກັນ​ຂອງ bytes ຕໍ່ pixels ລວງ​.

ໃຊ້ xzcat ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.