ນີ້ແມ່ນຄໍາສັ່ງ bzip2recover ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
bzip2, bunzip2 - ເປັນຕົວບີບອັດໄຟລ໌ການຈັດຮຽງແບບບລັອກ, v1.0.6
bzcat - decompresses ໄຟລ໌ເພື່ອ stdout
bzip2recover - ຟື້ນຕົວຂໍ້ມູນຈາກໄຟລ໌ bzip2 ເສຍຫາຍ
ສະຫຼຸບສັງລວມ
bzip2 [ -cdfkqstvzVL123456789 ] [ ຊື່ໄຟລ໌ ... ]
bzip2 [ -h|-- ຊ່ວຍ ]
bunzip2 [ -fkvsVL ] [ ຊື່ໄຟລ໌ ... ]
bunzip2 [ -h|-- ຊ່ວຍ ]
bzcat [ -s ] [ ຊື່ໄຟລ໌ ... ]
bzcat [ -h|-- ຊ່ວຍ ]
bzip2 ກູ້ຄືນ ຊື່ເອກະສານ
ລາຍລະອຽດ
bzip2 ບີບອັດໄຟລ໌ໂດຍໃຊ້ Burrows-Wheeler block sorting algorithm compression text,
ແລະການເຂົ້າລະຫັດ Huffman. ການບີບອັດໂດຍທົ່ວໄປແມ່ນດີກ່ວາທີ່ບັນລຸໄດ້ໂດຍ
ເຄື່ອງອັດທີ່ອີງໃສ່ LZ77/LZ78 ທຳມະດາກວ່າ, ແລະເຂົ້າຫາປະສິດທິພາບຂອງ PPM
ຄອບຄົວຂອງເຄື່ອງອັດສະຖິຕິ.
ຕົວເລືອກເສັ້ນຄໍາສັ່ງແມ່ນໂດຍເຈດຕະນາຄ້າຍຄືກັນກັບຂອງ GNU gzip, ແຕ່ພວກເຂົາແມ່ນ
ບໍ່ຄືກັນ.
bzip2 ຄາດຫວັງວ່າບັນຊີລາຍຊື່ຂອງຊື່ໄຟລ໌ຈະມາພ້ອມກັບທຸງແຖວຄໍາສັ່ງ. ແຕ່ລະໄຟລ໌ແມ່ນ
ແທນທີ່ດ້ວຍສະບັບທີ່ຖືກບີບອັດຂອງຕົນເອງ, ດ້ວຍຊື່ "original_name.bz2". ແຕ່ລະ
ໄຟລ໌ທີ່ຖືກບີບອັດມີວັນທີດັດແກ້ດຽວກັນ, ການອະນຸຍາດ, ແລະ, ເມື່ອເປັນໄປໄດ້, ເປັນເຈົ້າຂອງ
ເປັນຕົ້ນສະບັບທີ່ສອດຄ້ອງກັນ, ດັ່ງນັ້ນຄຸນສົມບັດເຫຼົ່ານີ້ສາມາດໄດ້ຮັບການຟື້ນຟູຢ່າງຖືກຕ້ອງຢູ່ທີ່
ເວລາ decompression. ການຈັດການຊື່ໄຟລ໌ແມ່ນ naive ໃນຄວາມຮູ້ສຶກທີ່ບໍ່ມີກົນໄກ
ສໍາລັບການຮັກສາຊື່ໄຟລ໌ຕົ້ນສະບັບ, ການອະນຸຍາດ, ຄວາມເປັນເຈົ້າຂອງຫຼືວັນທີໃນລະບົບໄຟລ໌ທີ່
ຂາດແນວຄວາມຄິດເຫຼົ່ານີ້, ຫຼືມີຂໍ້ຈໍາກັດຄວາມຍາວຂອງຊື່ໄຟລ໌ທີ່ຮຸນແຮງ, ເຊັ່ນ MS-DOS.
bzip2 ແລະ bunzip2 ໂດຍຄ່າເລີ່ມຕົ້ນຈະບໍ່ຂຽນທັບໄຟລ໌ທີ່ມີຢູ່ແລ້ວ. ຖ້າທ່ານຕ້ອງການນີ້
ເກີດຂຶ້ນ, ລະບຸທຸງ -f.
ຖ້າບໍ່ມີການລະບຸຊື່ໄຟລ໌, bzip2 ບີບອັດຈາກວັດສະດຸປ້ອນມາດຕະຖານໄປຫາຜົນຜະລິດມາດຕະຖານ.
ໃນກໍລະນີນີ້, bzip2 ຈະປະຕິເສດການຂຽນຜົນອອກມາທີ່ບີບອັດໃສ່ເຄື່ອງໝາຍປາຍທາງ, ດັ່ງນີ້
ບໍ່ເຂົ້າໃຈໄດ້ທັງໝົດ ແລະເພາະສະນັ້ນບໍ່ມີຈຸດໝາຍ.
bunzip2 (ຫຼື bzip2 -d) decompresses ໄຟລ໌ທີ່ລະບຸໄວ້ທັງຫມົດ. ໄຟລ໌ທີ່ບໍ່ໄດ້ຖືກສ້າງຂື້ນໂດຍ
bzip2 ຈະຖືກກວດພົບແລະຖືກລະເລີຍ, ແລະການເຕືອນໄພອອກມາ. bzip2 ຄວາມພະຍາຍາມທີ່ຈະເດົາໄດ້
ຊື່ໄຟລ໌ສໍາລັບໄຟລ໌ທີ່ຖືກບີບອັດຈາກໄຟລ໌ທີ່ຖືກບີບອັດດັ່ງນີ້:
filename.bz2 ກາຍເປັນຊື່ໄຟລ໌
filename.bz ກາຍເປັນຊື່ໄຟລ໌
filename.tbz2 ກາຍເປັນ filename.tar
filename.tbz ກາຍເປັນ filename.tar
anyothername ກາຍເປັນ anyothername.out
ຖ້າໄຟລ໌ບໍ່ສິ້ນສຸດໃນຫນຶ່ງໃນຈຸດສິ້ນສຸດທີ່ຮັບຮູ້, .bz2, .bz, .tbz2 or .tbz, bzip2
ຈົ່ມວ່າມັນບໍ່ສາມາດເດົາຊື່ໄຟລ໌ຕົ້ນສະບັບໄດ້, ແລະໃຊ້ຊື່ຕົ້ນສະບັບ
ກັບ .ອອກ ຕໍ່ທ້າຍ.
ເຊັ່ນດຽວກັນກັບການບີບອັດ, ການສະຫນອງທີ່ບໍ່ມີຊື່ໄຟລ໌ເຮັດໃຫ້ເກີດການບີບອັດຈາກການປ້ອນຂໍ້ມູນມາດຕະຖານໄປຫາ
ຜົນຜະລິດມາດຕະຖານ.
bunzip2 ຈະ decompress ໄຟລ໌ທີ່ເປັນ concatenation ຂອງສອງຫຼືຫຼາຍກວ່ານັ້ນຢ່າງຖືກຕ້ອງ
ໄຟລ໌ທີ່ຖືກບີບອັດ. ຜົນໄດ້ຮັບແມ່ນ concatenation ຂອງ uncompressed ທີ່ສອດຄ້ອງກັນ
ໄຟລ໌. ການທົດສອບຄວາມສົມບູນ (-t) ຂອງໄຟລ໌ບີບອັດ concatenated ແມ່ນຍັງສະຫນັບສະຫນູນ.
ນອກນັ້ນທ່ານຍັງສາມາດບີບອັດຫຼື decompress ໄຟລ໌ກັບຜົນຜະລິດມາດຕະຖານໂດຍການໃຫ້ທຸງ -c.
ຫຼາຍໄຟລ໌ອາດຈະຖືກບີບອັດ ແລະ ຫຍໍ້ລົງແບບນີ້. ຜົນໄດ້ຮັບຜົນໄດ້ຮັບແມ່ນ
ປ້ອນຕາມລຳດັບເພື່ອສະດຸດ. ການບີບອັດໄຟລ໌ຫຼາຍອັນໃນລັກສະນະນີ້ສ້າງ a
stream ປະກອບດ້ວຍຫຼາຍໄຟລ໌ທີ່ຖືກບີບອັດເປັນຕົວແທນ. ນ້ໍາດັ່ງກ່າວສາມາດເປັນ
decompressed ຢ່າງຖືກຕ້ອງພຽງແຕ່ໂດຍ bzip2 ຮຸ່ນ 0.9.0 ຫຼືຫຼັງຈາກນັ້ນ. ຮຸ່ນກ່ອນຫນ້າຂອງ bzip2
ຈະຢຸດຫຼັງຈາກການບີບອັດໄຟລ໌ທໍາອິດໃນກະແສ.
bzcat (ຫຼື bzip2 -dc) decompresses ໄຟລ໌ທີ່ລະບຸໄວ້ທັງຫມົດໄປຫາຜົນຜະລິດມາດຕະຖານ.
bzip2 ຈະອ່ານການໂຕ້ຖຽງຈາກຕົວແປສະພາບແວດລ້ອມ bzip2 ແລະ BZIP, ໃນຄໍາສັ່ງນັ້ນ,
ແລະຈະປະມວນຜົນພວກມັນກ່ອນການໂຕ້ຖຽງໃດໆທີ່ອ່ານຈາກເສັ້ນຄໍາສັ່ງ. ນີ້ເຮັດໃຫ້ເປັນ
ວິທີທີ່ສະດວກໃນການສະຫນອງການໂຕ້ຖຽງເລີ່ມຕົ້ນ.
ການບີບອັດແມ່ນປະຕິບັດຢູ່ສະ ເໝີ, ເຖິງແມ່ນວ່າໄຟລ໌ທີ່ຖືກບີບອັດຈະໃຫຍ່ກວ່າເລັກນ້ອຍ
ຕົ້ນສະບັບ. ໄຟລ໌ທີ່ນ້ອຍກວ່າປະມານຫນຶ່ງຮ້ອຍ bytes ມີແນວໂນ້ມທີ່ຈະໄດ້ຮັບຂະຫນາດໃຫຍ່, ນັບຕັ້ງແຕ່
ກົນໄກການບີບອັດມີ overhead ຄົງທີ່ໃນພາກພື້ນຂອງ 50 bytes. ຂໍ້ມູນແບບສຸ່ມ
(ລວມທັງຜົນຜະລິດຂອງການອັດໄຟລ໌ຫຼາຍທີ່ສຸດ) ແມ່ນລະຫັດທີ່ປະມານ 8.05 bits ຕໍ່ໄບຕ໌,
ໃຫ້ການຂະຫຍາຍຕົວປະມານ 0.5%.
ໃນຖານະເປັນການກວດສອບຕົນເອງສໍາລັບການປົກປັກຮັກສາຂອງທ່ານ, bzip2 ໃຊ້ CRCs 32-bit ເພື່ອໃຫ້ແນ່ໃຈວ່າ
ສະບັບ decompressed ຂອງໄຟລ໌ແມ່ນຄືກັນກັບຕົ້ນສະບັບ. ນີ້ປ້ອງກັນ
ສໍ້ລາດບັງຫຼວງຂອງຂໍ້ມູນທີ່ບີບອັດ, ແລະຕ້ານກັບຂໍ້ບົກພ່ອງ undetected ໃນ bzip2 (ຫວັງເປັນຢ່າງຍິ່ງ
ຄົງຈະບໍ່ເປັນ). ໂອກາດຂອງຂໍ້ມູນສໍ້ລາດບັງຫຼວງຈະບໍ່ໄດ້ຮັບການກວດພົບແມ່ນກ້ອງຈຸລະທັດ, ປະມານຫນຶ່ງ
ໂອກາດໃນສີ່ຕື້ສໍາລັບແຕ່ລະໄຟລ໌ທີ່ດໍາເນີນການ. ຢ່າງໃດກໍຕາມ, ຈົ່ງຮັບຮູ້ວ່າການກວດສອບເກີດຂຶ້ນ
ເມື່ອ decompression, ສະນັ້ນມັນພຽງແຕ່ສາມາດບອກທ່ານວ່າບາງສິ່ງບາງຢ່າງຜິດພາດ. ມັນບໍ່ສາມາດຊ່ວຍເຈົ້າໄດ້
ກູ້ຂໍ້ມູນຕົ້ນສະບັບທີ່ບໍ່ໄດ້ບີບອັດ. ທ່ານສາມາດນໍາໃຊ້ bzip2 ກູ້ຄືນ ເພື່ອພະຍາຍາມກູ້ຂໍ້ມູນ
ຈາກໄຟລ໌ທີ່ເສຍຫາຍ.
ຄ່າກັບຄືນ: 0 ສໍາລັບທາງອອກປົກກະຕິ, 1 ສໍາລັບບັນຫາສິ່ງແວດລ້ອມ (ບໍ່ພົບໄຟລ໌, ບໍ່ຖືກຕ້ອງ
ທຸງ, ຄວາມຜິດພາດ I/O, &c), 2 ເພື່ອຊີ້ໃຫ້ເຫັນໄຟລ໌ທີ່ຖືກບີບອັດເສຍຫາຍ, 3 ສໍາລັບພາຍໃນ
ຄວາມຜິດພາດຄວາມສອດຄ່ອງ (ເຊັ່ນ: bug) ທີ່ເຮັດໃຫ້ເກີດ bzip2 ຕົກໃຈ.
OPTIONS
-c --stdout
ບີບອັດຫຼື decompress ເປັນຜົນຜະລິດມາດຕະຖານ.
-d -- ບີບອັດ
ບັງຄັບການບີບອັດ. bzip2, bunzip2 ແລະ bzcat ແມ່ນແທ້ໂຄງການດຽວກັນ, ແລະ
ການຕັດສິນໃຈກ່ຽວກັບສິ່ງທີ່ຕ້ອງເຮັດແມ່ນເຮັດບົນພື້ນຖານຂອງຊື່ທີ່ຖືກນໍາໃຊ້.
ທຸງນີ້ overrides ກົນໄກນັ້ນ, ແລະກໍາລັງ bzip2 ເພື່ອ decompress.
-z --ບີບອັດ
ສ່ວນເສີມກັບ -d: ບັງຄັບການບີບອັດ, ໂດຍບໍ່ຄໍານຶງເຖິງຊື່ການເອີ້ນ.
-t --ທົດສອບ
ກວດເບິ່ງຄວາມສົມບູນຂອງໄຟລ໌ທີ່ລະບຸໄວ້, ແຕ່ຢ່າບີບອັດພວກມັນ. ນີ້ແທ້ໆ
ປະຕິບັດການທົດລອງ decompression ແລະຖິ້ມຜົນໄດ້ຮັບ.
-f --ກຳລັງ
ບັງຄັບຂຽນທັບຂອງໄຟລ໌ຜົນຜະລິດ. ປົກກະຕິ, bzip2 ຈະບໍ່ຂຽນທັບທີ່ມີຢູ່ແລ້ວ
ໄຟລ໌ຜົນຜະລິດ. ຍັງກໍາລັງ bzip2 ເພື່ອທໍາລາຍການເຊື່ອມຕໍ່ຍາກກັບໄຟລ໌, ເຊິ່ງມັນຖ້າບໍ່ດັ່ງນັ້ນ
ຈະບໍ່ເຮັດ.
bzip2 ປົກກະຕິປະຕິເສດການບີບອັດໄຟລ໌ທີ່ບໍ່ມີ magic ທີ່ຖືກຕ້ອງ
header bytes. ຖ້າບັງຄັບ (-f), ແນວໃດກໍ່ຕາມ, ມັນຈະຜ່ານໄຟລ໌ດັ່ງກ່າວໂດຍຜ່ານ unmodified.
ນີ້ແມ່ນວິທີທີ່ GNU gzip ປະຕິບັດ.
-k --ຮັກສາ
ຮັກສາ (ຢ່າລຶບ) ໄຟລ໌ປ້ອນຂໍ້ມູນໃນລະຫວ່າງການບີບອັດ ຫຼືການບີບອັດ.
-s --ນ້ອຍ
ຫຼຸດຜ່ອນການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ, ສໍາລັບການບີບອັດ, ການບີບອັດແລະການທົດສອບ. ໄຟລ໌ແມ່ນ
decompressed ແລະທົດສອບໂດຍໃຊ້ algorithm ດັດແກ້ທີ່ຕ້ອງການພຽງແຕ່ 2.5 bytes
ຕໍ່ block byte. ນີ້ຫມາຍຄວາມວ່າໄຟລ໌ໃດຫນຶ່ງສາມາດ decompressed ໃນ 2300 k ຂອງຫນ່ວຍຄວາມຈໍາ,
ເຖິງແມ່ນວ່າຢູ່ທີ່ປະມານເຄິ່ງຫນຶ່ງຂອງຄວາມໄວປົກກະຕິ.
ໃນລະຫວ່າງການບີບອັດ, -s ເລືອກຂະຫນາດ block ຂອງ 200 k, ເຊິ່ງຈໍາກັດການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາເພື່ອ
ປະມານຕົວເລກດຽວກັນ, ໃນຄ່າໃຊ້ຈ່າຍຂອງອັດຕາສ່ວນການບີບອັດຂອງທ່ານ. ໃນສັ້ນ, ຖ້າ
ເຄື່ອງຂອງເຈົ້າມີໜ່ວຍຄວາມຈຳໜ້ອຍ (8 megabytes ຫຼືໜ້ອຍກວ່າ), ໃຊ້ -s ສຳລັບທຸກຢ່າງ. ເບິ່ງ
ການຄຸ້ມຄອງຄວາມຊົງຈໍາຂ້າງລຸ່ມນີ້.
-q --ງຽບ
ສະກັດກັ້ນຂໍ້ຄວາມເຕືອນທີ່ບໍ່ຈໍາເປັນ. ຂໍ້ຄວາມກ່ຽວກັບຄວາມຜິດພາດ I/O ແລະ
ເຫດການສຳຄັນອື່ນໆຈະບໍ່ຖືກສະກັດກັ້ນ.
-v -- verbose
ໂໝດ Verbose -- ສະແດງອັດຕາສ່ວນການບີບອັດສຳລັບແຕ່ລະໄຟລ໌ທີ່ປະມວນຜົນແລ້ວ. ເພີ່ມເຕີມ -v ຂອງ
ເພີ່ມລະດັບ verbosity, spewing ອອກ lots ຂອງຂໍ້ມູນຂ່າວສານທີ່ຕົ້ນຕໍຂອງ
ຄວາມສົນໃຈສໍາລັບຈຸດປະສົງການວິນິດໄສ.
-h - ຊ່ວຍ
ພິມຂໍ້ຄວາມຊ່ວຍເຫຼືອ ແລະອອກ.
-L -- ໃບອະນຸຍາດ -V - ການປ່ຽນແປງ
ສະແດງສະບັບຊອບແວ, ເງື່ອນໄຂໃບອະນຸຍາດ.
-1 (ຫຼື -- ໄວ) to -9 (ຫຼື --ດີທີ່ສຸດ)
ກໍານົດຂະຫນາດບລັອກເປັນ 100 k, 200 k ... 900 k ເມື່ອບີບອັດ. ບໍ່ມີຜົນເມື່ອໃດ
ການບີບອັດ. ເບິ່ງການຈັດການຄວາມຊົງຈຳຂ້າງລຸ່ມນີ້. --ໄວ ແລະ --ນາມແຝງທີ່ດີທີ່ສຸດແມ່ນ
ຕົ້ນຕໍສໍາລັບການເຂົ້າກັນໄດ້ GNU gzip. ໂດຍສະເພາະ, --fast ບໍ່ເຮັດໃຫ້ສິ່ງຕ່າງໆ
ໄວຂຶ້ນຢ່າງຫຼວງຫຼາຍ. ແລະ -- ດີທີ່ສຸດພຽງແຕ່ເລືອກພຶດຕິກໍາເລີ່ມຕົ້ນ.
-- ປະຕິບັດການໂຕ້ຖຽງຕໍ່ໄປທັງຫມົດເປັນຊື່ໄຟລ໌, ເຖິງແມ່ນວ່າພວກເຂົາເລີ່ມຕົ້ນດ້ວຍ dash.
ນີ້ແມ່ນເພື່ອໃຫ້ທ່ານສາມາດຈັດການໄຟລ໌ທີ່ມີຊື່ເລີ່ມຕົ້ນດ້ວຍ dash, ຕົວຢ່າງ:
bzip2 -- -myfilename.
-- ຊໍ້າຄືນ-ໄວ --repetitive-ດີທີ່ສຸດ
ທຸງເຫຼົ່ານີ້ແມ່ນຊໍ້າຊ້ອນຢູ່ໃນຮຸ່ນ 0.9.5 ແລະສູງກວ່າ. ພວກເຂົາເຈົ້າໄດ້ສະຫນອງຫຍາບບາງ
ການຄວບຄຸມໃນໄລຍະພຶດຕິກໍາຂອງວິທີການຈັດລຽງລໍາດັບໃນສະບັບກ່ອນຫນ້ານີ້, ເຊິ່ງແມ່ນ
ບາງຄັ້ງເປັນປະໂຫຍດ. 0.9.5 ແລະສູງກວ່າມີ algorithm ປັບປຸງທີ່ສະແດງສິ່ງເຫຼົ່ານີ້
ທຸງບໍ່ກ່ຽວຂ້ອງ.
ຫນ່ວຍຄວາມຈໍາ ການຄຸ້ມຄອງ
bzip2 ບີບອັດໄຟລ໌ຂະຫນາດໃຫຍ່ໃນທ່ອນໄມ້. ຂະຫນາດຕັນມີຜົນກະທົບທັງສອງອັດຕາສ່ວນການບີບອັດ
ບັນລຸໄດ້, ແລະຈໍານວນຫນ່ວຍຄວາມຈໍາທີ່ຈໍາເປັນສໍາລັບການບີບອັດແລະການບີບອັດ. ທຸງ -1
ຜ່ານ -9 ລະບຸຂະໜາດບລັອກເປັນ 100,000 bytes ຜ່ານ 900,000 bytes (ຄ່າເລີ່ມຕົ້ນ)
ຕາມລໍາດັບ. ໃນເວລາທີ່ decompression, ຂະຫນາດຕັນທີ່ໃຊ້ສໍາລັບການບີບອັດແມ່ນອ່ານຈາກ
ສ່ວນຫົວຂອງໄຟລ໌ທີ່ຖືກບີບອັດ, ແລະ bunzip2 ຫຼັງຈາກນັ້ນຈັດສັນຕົວຂອງມັນເອງພຽງແຕ່ຄວາມຊົງຈໍາພຽງພໍທີ່ຈະ
decompress ໄຟລ໌. ເນື່ອງຈາກຂະຫນາດຕັນຖືກເກັບໄວ້ໃນໄຟລ໌ທີ່ຖືກບີບອັດ, ມັນປະຕິບັດຕາມນັ້ນ
ທຸງ -1 ຫາ -9 ບໍ່ກ່ຽວຂ້ອງກັບ ແລະຖືກລະເລີຍໃນລະຫວ່າງການບີບອັດ.
ຄວາມຕ້ອງການການບີບອັດແລະການບີບອັດ, ໃນໄບຕ໌, ສາມາດຄາດຄະເນໄດ້ດັ່ງນີ້:
ການບີບອັດ: 400 k + (8 x ຂະຫນາດບລັອກ)
Decompression: 100 k + ( 4 x ຂະຫນາດຕັນ ), ຫຼື
100 k + (2.5 x ຂະຫນາດ block)
ຂະໜາດຂອງບລັອກທີ່ໃຫຍ່ກວ່າໃຫ້ຜົນຕອບແທນທີ່ຫຼຸດລົງຢ່າງໄວວາ. ສ່ວນໃຫຍ່ຂອງການບີບອັດ
ມາຈາກສອງຫຼືສາມຮ້ອຍ k ທໍາອິດຂອງຂະຫນາດຕັນ, ຄວາມຈິງທີ່ສົມຄວນຢູ່ໃນໃຈ
ໃນເວລາທີ່ການນໍາໃຊ້ bzip2 ໃນເຄື່ອງຈັກຂະຫນາດນ້ອຍ. ມັນຍັງມີຄວາມສໍາຄັນທີ່ຈະຮູ້ຈັກວ່າ
ຄວາມຕ້ອງການ decompression memory ຖືກກໍານົດໃນເວລາບີບອັດໂດຍທາງເລືອກຂອງຂະຫນາດຕັນ.
ສໍາລັບໄຟລ໌ທີ່ຖືກບີບອັດດ້ວຍຂະຫນາດຕັນ 900 k ເລີ່ມຕົ້ນ, bunzip2 ຈະຮຽກຮ້ອງໃຫ້ປະມານ 3700
kbytes ເພື່ອ decompress. ເພື່ອຮອງຮັບການບີບອັດໄຟລ໌ໃດໆໃນເຄື່ອງ 4 megabyte,
bunzip2 ມີທາງເລືອກທີ່ຈະ decompress ໃຊ້ປະມານເຄິ່ງຫນຶ່ງຂອງຈໍານວນຫນ່ວຍຄວາມຈໍານີ້, ປະມານ
2300 kbytes. ຄວາມໄວການບີບອັດແມ່ນຍັງຫຼຸດລົງເຄິ່ງຫນຶ່ງ, ສະນັ້ນທ່ານຄວນຈະນໍາໃຊ້ທາງເລືອກນີ້ພຽງແຕ່ບ່ອນທີ່
ຈໍາເປັນ. ທຸງທີ່ກ່ຽວຂ້ອງແມ່ນ -s.
ໂດຍທົ່ວໄປ, ພະຍາຍາມແລະນໍາໃຊ້ຂໍ້ຈໍາກັດຂອງຫນ່ວຍຄວາມຈໍາຂະຫນາດບລັອກທີ່ໃຫຍ່ທີ່ສຸດອະນຸຍາດໃຫ້, ນັບຕັ້ງແຕ່ນັ້ນ
maximizes ການບີບອັດບັນລຸໄດ້. ຄວາມໄວການບີບອັດແລະ decompression ແມ່ນ virtually
ບໍ່ໄດ້ຮັບຜົນກະທົບຈາກຂະຫນາດບລັອກ.
ຈຸດທີ່ສໍາຄັນອີກອັນຫນຶ່ງໃຊ້ກັບໄຟລ໌ທີ່ເຫມາະໃນບລັອກດຽວ - ນັ້ນຫມາຍຄວາມວ່າຫຼາຍທີ່ສຸດ
ໄຟລ໌ທີ່ເຈົ້າພົບໂດຍໃຊ້ຂະໜາດບລັອກໃຫຍ່. ຈໍານວນຄວາມຊົງຈໍາທີ່ແທ້ຈິງສໍາຜັດແມ່ນ
ອັດຕາສ່ວນກັບຂະຫນາດຂອງໄຟລ໌, ເນື່ອງຈາກວ່າໄຟລ໌ມີຂະຫນາດນ້ອຍກວ່າຕັນ. ສໍາລັບ
ຕົວຢ່າງ, ການບີບອັດໄຟລ໌ຍາວ 20,000 ໄບຕ໌ດ້ວຍທຸງ -9 ຈະເຮັດໃຫ້ການບີບອັດ
ເພື່ອຈັດສັນປະມານ 7600 k ຂອງຫນ່ວຍຄວາມຈໍາ, ແຕ່ແຕະພຽງແຕ່ 400 k + 20000 * 8 = 560 kbytes ຂອງມັນ.
ເຊັ່ນດຽວກັນ, decompressor ຈະຈັດສັນ 3700 k ແຕ່ແຕະພຽງແຕ່ 100 k + 20000 * 4 = 180.
kbytes.
ນີ້ແມ່ນຕາຕະລາງທີ່ສະຫຼຸບການໃຊ້ຫນ່ວຍຄວາມຈໍາສູງສຸດສໍາລັບຂະຫນາດບລັອກທີ່ແຕກຕ່າງກັນ. ນອກຈາກນີ້
ບັນທຶກແມ່ນຂະຫນາດທີ່ຖືກບີບອັດທັງໝົດສໍາລັບ 14 ໄຟລ໌ຂອງ Calgary Text Compression Corpus
ຈໍານວນທັງຫມົດ 3,141,622 bytes. ຖັນນີ້ໃຫ້ຄວາມຮູ້ສຶກບາງຢ່າງສໍາລັບວິທີການບີບອັດແຕກຕ່າງກັນ
ຂະຫນາດຕັນ. ຕົວເລກເຫຼົ່ານີ້ມີແນວໂນ້ມທີ່ຈະ understate ປະໂຫຍດຂອງຂະຫນາດຕັນຂະຫນາດໃຫຍ່ສໍາລັບ
ໄຟລ໌ຂະຫນາດໃຫຍ່, ນັບຕັ້ງແຕ່ Corpus ຖືກຄອບງໍາໂດຍໄຟລ໌ຂະຫນາດນ້ອຍກວ່າ.
ບີບອັດ Decompress Decompress Corpus
ທຸງການນໍາໃຊ້ການນໍາໃຊ້ -s ຂະຫນາດການນໍາໃຊ້
-1 1200k 500k 350k 914704
-2 2000k 900k 600k 877703
-3 2800k 1300k 850k 860338
-4 3600k 1700k 1100k 846899
-5 4400k 2100k 1350k 845160
-6 5200k 2500k 1600k 838626
-7 6100k 2900k 1850k 834096
-8 6800k 3300k 2100k 828642
-9 7600k 3700k 2350k 828642
ກຳລັງຟື້ນຕົວ ຂໍ້ມູນ ຈາກ ເຮັດໃຫ້ເສຍຫາຍ ເອກະສານ
bzip2 ບີບອັດໄຟລ໌ໃນບລັອກ, ໂດຍປົກກະຕິແລ້ວມີຄວາມຍາວ 900 kbytes. ແຕ່ລະທ່ອນໄມ້ຖືກຈັດການ
ເປັນເອກະລາດ. ຖ້າມີເດຍ ຫຼືລະບົບສາຍສົ່ງຜິດພາດເຮັດໃຫ້ໄຟລ໌ .bz2 ຫຼາຍບລັອກກາຍເປັນ
ເສຍຫາຍ, ມັນອາດຈະເປັນໄປໄດ້ທີ່ຈະຟື້ນຕົວຂໍ້ມູນຈາກຕັນ undamaged ໃນໄຟລ໌.
ການບີບອັດເປັນຕົວແທນຂອງແຕ່ລະບລັອກແມ່ນ delimited ໂດຍຮູບແບບ 48-bit, ເຊິ່ງເຮັດໃຫ້
ມັນເປັນໄປໄດ້ທີ່ຈະຊອກຫາຂອບເຂດຕັນດ້ວຍຄວາມແນ່ນອນທີ່ສົມເຫດສົມຜົນ. ແຕ່ລະຕັນຍັງ
ປະຕິບັດ CRC 32-bit ຂອງຕົນເອງ, ດັ່ງນັ້ນທ່ອນໄມ້ທີ່ເສຍຫາຍສາມາດຈໍາແນກໄດ້ຈາກສິ່ງທີ່ບໍ່ເສຍຫາຍ.
bzip2 ກູ້ຄືນ ເປັນໂຄງການງ່າຍດາຍທີ່ມີຈຸດປະສົງແມ່ນເພື່ອຊອກຫາສໍາລັບຕັນໃນໄຟລ໌ .bz2, ແລະ
ຂຽນແຕ່ລະບລັອກອອກເປັນໄຟລ໌ .bz2 ຂອງຕົນເອງ. ຫຼັງຈາກນັ້ນທ່ານສາມາດນໍາໃຊ້ bzip2 -t ເພື່ອທົດສອບ
ຄວາມສົມບູນຂອງໄຟລ໌ຜົນໄດ້ຮັບ, ແລະ decompress ທີ່ບໍ່ເສຍຫາຍ.
bzip2 ກູ້ຄືນ ເອົາການໂຕ້ຖຽງດຽວ, ຊື່ຂອງໄຟລ໌ເສຍຫາຍ, ແລະຂຽນຈໍານວນຂອງ
ໄຟລ໌ "rec00001file.bz2", "rec00002file.bz2", ແລະອື່ນໆ, ປະກອບດ້ວຍຕັນສະກັດ.
ຊື່ໄຟລ໌ຜົນຜະລິດໄດ້ຖືກອອກແບບເພື່ອໃຫ້ການນໍາໃຊ້ຂອງຕົວແທນໃນການປຸງແຕ່ງຕໍ່ໄປ --
ຕົວຢ່າງ, "bzip2 -dc rec*file.bz2 > recovered_data" -- ປະມວນຜົນໄຟລ໌ໃນ
ຄໍາສັ່ງທີ່ຖືກຕ້ອງ.
bzip2 ກູ້ຄືນ ຄວນຈະເປັນການນໍາໃຊ້ຫຼາຍທີ່ສຸດຈັດການກັບໄຟລ໌ .bz2 ຂະຫນາດໃຫຍ່, ເນື່ອງຈາກວ່າເຫຼົ່ານີ້ຈະມີ
ຕັນຫຼາຍ. ມັນເປັນ futile ຢ່າງຊັດເຈນທີ່ຈະນໍາໃຊ້ມັນຢູ່ໃນໄຟລ໌ດຽວຕັນເສຍຫາຍ, ນັບຕັ້ງແຕ່ a
ຕັນທີ່ເສຍຫາຍບໍ່ສາມາດຟື້ນຕົວໄດ້. ຖ້າທ່ານຕ້ອງການຫຼຸດຜ່ອນການສູນເສຍຂໍ້ມູນທີ່ເປັນໄປໄດ້
ໂດຍຜ່ານສື່ຫຼືຄວາມຜິດພາດການຖ່າຍທອດ, ທ່ານອາດຈະພິຈາລະນາການບີບອັດດ້ວຍບລັອກຂະຫນາດນ້ອຍກວ່າ
ຂະຫນາດ.
ຜົນປະໂຫຍດ ຫມາຍເຫດ
ໄລຍະການຈັດລຽງຂອງການບີບອັດລວບລວມສາຍພັນທີ່ຄ້າຍຄືກັນຢູ່ໃນໄຟລ໌. ເພາະວ່າ
ນີ້, ໄຟລ໌ທີ່ມີສັນຍາລັກຊ້ໍາຊ້ອນຍາວຫຼາຍ, ເຊັ່ນ "aabaabaabaab ..."
(ເຮັດຊ້ຳຫຼາຍຮ້ອຍເທື່ອ) ອາດຈະບີບອັດຊ້າກວ່າປົກກະຕິ. ລຸ້ນ 0.9.5 ແລະ
ຂ້າງເທິງ fare ດີກ່ວາສະບັບທີ່ຜ່ານມາຫຼາຍໃນດ້ານນີ້. ອັດຕາສ່ວນລະຫວ່າງທີ່ຮ້າຍແຮງທີ່ສຸດ -
ກໍລະນີ ແລະເວລາບີບອັດສະເລ່ຍຂອງກໍລະນີແມ່ນຢູ່ໃນພາກພື້ນຂອງ 10:1. ສໍາລັບສະບັບທີ່ຜ່ານມາ,
ຕົວເລກນີ້ແມ່ນຄ້າຍຄືກັບ 100: 1. ທ່ານສາມາດນໍາໃຊ້ທາງເລືອກ -vvvv ເພື່ອຕິດຕາມຄວາມຄືບຫນ້າໃນ
ລາຍລະອຽດທີ່ຍິ່ງໃຫຍ່, ຖ້າທ່ານຕ້ອງການ.
ຄວາມໄວການບີບອັດບໍ່ໄດ້ຮັບຜົນກະທົບຈາກປະກົດການເຫຼົ່ານີ້.
bzip2 ປົກກະຕິແລ້ວຈະຈັດສັນໜ່ວຍຄວາມຈຳຫຼາຍເມກາໄບເພື່ອເຮັດວຽກ, ແລະຫຼັງຈາກນັ້ນຈະຄິດຄ່າທັງໝົດ
ຫຼາຍກວ່າມັນໃນແບບສຸ່ມພົບທົ່ວໄປ. ນີ້ຫມາຍຄວາມວ່າການປະຕິບັດ, ທັງສໍາລັບການບີບອັດແລະ
decompressing, ສ່ວນໃຫຍ່ແມ່ນຖືກກໍານົດໂດຍຄວາມໄວທີ່ເຄື່ອງຂອງທ່ານສາມາດໃຫ້ບໍລິການ cache
ຄິດຮອດ. ເນື່ອງຈາກວ່ານີ້, ການປ່ຽນແປງຂະຫນາດນ້ອຍຂອງລະຫັດເພື່ອຫຼຸດຜ່ອນອັດຕາການພາດໄດ້
ສັງເກດເຫັນເພື່ອໃຫ້ການປັບປຸງປະສິດທິພາບຂະຫນາດໃຫຍ່ທີ່ບໍ່ສົມດຸນ. ຂ້າພະເຈົ້າຈິນຕະນາການ bzip2 ຈະ
ປະຕິບັດດີທີ່ສຸດໃນເຄື່ອງຈັກທີ່ມີຖານຄວາມຈໍາຂະຫນາດໃຫຍ່ຫຼາຍ.
ຂໍ້ຄວນລະວັງ
ຂໍ້ຄວາມຜິດພາດ I/O ບໍ່ເປັນປະໂຫຍດເທົ່າທີ່ພວກເຂົາສາມາດເປັນ. bzip2 ພະຍາຍາມຢ່າງໜັກເພື່ອກວດຫາ I/O
ຄວາມຜິດພາດແລະອອກຢ່າງສະອາດ, ແຕ່ລາຍລະອຽດຂອງສິ່ງທີ່ບັນຫາແມ່ນບາງຄັ້ງເບິ່ງຄືວ່າແທນທີ່ຈະ
ເຮັດໃຫ້ເຂົ້າໃຈຜິດ.
ຫນ້າຄູ່ມືນີ້ກ່ຽວຂ້ອງກັບສະບັບ 1.0.6 ຂອງ bzip2. ຂໍ້ມູນທີ່ຖືກບີບອັດໂດຍນີ້
ສະບັບແມ່ນທັງດ້ານຫນ້າແລະດ້ານຫລັງເຂົ້າກັນໄດ້ກັບການປ່ອຍສາທາລະນະທີ່ຜ່ານມາ,
ຮຸ່ນ 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 ແລະສູງກວ່າ, ແຕ່ມີຕໍ່ໄປນີ້
ຂໍ້ຍົກເວັ້ນ: 0.9.0 ແລະສູງກວ່າສາມາດ decompress ຫຼາຍ concatenated compressed ໄດ້ຢ່າງຖືກຕ້ອງ
ໄຟລ໌. 0.1pl2 ບໍ່ສາມາດເຮັດສິ່ງນີ້ໄດ້; ມັນຈະຢຸດຫຼັງຈາກ decompressing ພຽງແຕ່ໄຟລ໌ທໍາອິດໃນ
stream
bzip2 ກູ້ຄືນ ຮຸ່ນກ່ອນ 1.0.2 ໃຊ້ຈໍານວນ 32-bit ເພື່ອສະແດງຕໍາແຫນ່ງບິດໃນ
ໄຟລ໌ທີ່ຖືກບີບອັດ, ດັ່ງນັ້ນເຂົາເຈົ້າບໍ່ສາມາດຈັດການກັບໄຟລ໌ທີ່ຖືກບີບອັດຫຼາຍກວ່າ 512 megabytes.
ລຸ້ນ 1.0.2 ແລະສູງກວ່າໃຊ້ ints 64-bit ໃນບາງແພລດຟອມທີ່ຮອງຮັບພວກມັນ (GNU
ເປົ້າຫມາຍທີ່ສະຫນັບສະຫນູນ, ແລະ Windows). ເພື່ອສ້າງຫຼືບໍ່ bzip2recover ຖືກສ້າງຂຶ້ນດ້ວຍ
ຂໍ້ຈໍາກັດດັ່ງກ່າວ, ດໍາເນີນການໂດຍບໍ່ມີການໂຕ້ຖຽງ. ໃນກໍລະນີໃດກໍ່ຕາມ, ທ່ານສາມາດສ້າງຕົວທ່ານເອງ
ຮຸ່ນບໍ່ຈໍາກັດຖ້າທ່ານສາມາດລວບລວມມັນຄືນໃຫມ່ດ້ວຍ MaybeUInt64 ທີ່ຕັ້ງໃຫ້ເປັນ 64-bit ທີ່ບໍ່ລົງນາມ.
ເລກເຕັມ.
ໃຊ້ bzip2recover ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net