นี่คือคำสั่ง lbzcat ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
lbzip2 - ยูทิลิตี้ bzip2 แบบขนาน
เรื่องย่อ
lbzip2|bzip2 [-n WTHRS] [-k|-c|-t] [-d] [-1 .. -9] [-f] [-s] [-u] [-v] [-S] [ ไฟล์ ... ]
lbunzip2|บันซิป2 [-n WTHRS] [-k|-c|-t] [-z] [-f] [-s] [-u] [-v] [-S] [ ไฟล์ ... ]
ปอนด์ซ์แคท|bzcat [-n WTHRS] [-z] [-f] [-s] [-u] [-v] [-S] [ ไฟล์ ... ]
lbzip2|bzip2|lbunzip2|บันซิป2|ปอนด์ซ์แคท|bzcat -h
DESCRIPTION
บีบอัดหรือคลายการบีบอัด ไฟล์ ตัวถูกดำเนินการหรืออินพุตมาตรฐานไปยังไฟล์ปกติหรือเอาต์พุตมาตรฐาน
โดยใช้อัลกอริธึมการบีบอัดข้อความแบบแยกบล็อก Burrows-Wheeler NS lbzip2 ประโยชน์
ใช้หลายเธรดและตัวแยกที่ผูกกับอินพุตแม้ว่าจะคลายการบีบอัด . Bz2 ไฟล์
สร้างโดยมาตรฐาน bzip2
การบีบอัดทำได้ดีกว่าแบบทั่วไปมาก
คอมเพรสเซอร์ที่ใช้ LZ77/LZ78 และแข่งขันกับผลิตภัณฑ์ที่ดีที่สุดในตระกูล PPM ของ
คอมเพรสเซอร์ทางสถิติ
การบีบอัดจะดำเนินการเสมอ แม้ว่าไฟล์บีบอัดจะมีขนาดใหญ่กว่าไฟล์ . เล็กน้อย
ต้นฉบับ. การขยายกรณีที่เลวร้ายที่สุดคือสำหรับไฟล์ที่มีความยาวเป็นศูนย์ ซึ่งขยายเป็นสิบสี่
ไบต์ ข้อมูลสุ่ม (รวมถึงเอาต์พุตของตัวบีบอัดไฟล์ส่วนใหญ่) ถูกเข้ารหัสด้วย
การขยายตัวแบบไม่แสดงอาการประมาณ 0.5%
ตัวเลือกบรรทัดคำสั่งจงใจคล้ายกับตัวเลือกของ bzip2 และ gzipแต่
พวกเขาไม่เหมือนกัน
การร้องขอ
โหมดการทำงานเริ่มต้นคือการบีบอัด หากยูทิลิตี้ถูกเรียกใช้เป็น lbunzip2 or
บันซิป2, โหมดจะเปลี่ยนเป็นการคลายการบีบอัด เรียกยูทิลิตี้เป็น ปอนด์ซ์แคท or bzcat
เลือกการคลายการบีบอัด โดยไบต์สตรีมที่คลายการบีบอัดแล้วจะเขียนไปยังเอาต์พุตมาตรฐาน
OPTIONS
-n WTHRS
ตั้งค่าจำนวน (de) เธรดของคอมเพรสเซอร์เป็น WTHRS. ถ้าตัวเลือกนี้ไม่ใช่
ระบุ lbzip2 พยายามสอบถามระบบสำหรับจำนวนตัวประมวลผลออนไลน์ (ถ้า
ทั้งสภาพแวดล้อมการคอมไพล์และสภาพแวดล้อมการดำเนินการสนับสนุนสิ่งนั้น) หรือ
ออกโดยมีข้อผิดพลาด (หากไม่สามารถระบุจำนวนโปรเซสเซอร์ออนไลน์ได้)
-k, --เก็บไว้
อย่าถอด ไฟล์ ตัวถูกดำเนินการหลังจากประสบความสำเร็จ (de) การบีบอัด เปิดอินพุตปกติ
ไฟล์ที่มีมากกว่าหนึ่งลิงก์
-c, --stdout
เขียนเอาต์พุตไปยังเอาต์พุตมาตรฐานแม้ในขณะที่ ไฟล์ ตัวถูกดำเนินการอยู่ หมายถึง -k
และไม่รวม -t.
-t, --ทดสอบ
ทดสอบการบีบอัด; ทิ้งเอาต์พุตแทนที่จะเขียนลงในไฟล์หรือมาตรฐาน
เอาท์พุท หมายถึง -k และไม่รวม -c. ประมาณว่าผ่าน -c และ
เปลี่ยนเส้นทางเอาต์พุตมาตรฐานไปยังที่ฝากข้อมูลบิต
-d, --คลายการบีบอัด
บังคับให้คลายการบีบอัดในโหมดการทำงานที่เลือกโดยชื่อคำขอ
-z, --บีบอัด
บังคับบีบอัดในโหมดการทำงานที่เลือกโดยชื่อคำขอ
-1 .. -9
ตั้งค่าขนาดบล็อกการบีบอัดเป็น 100K .. 900K โดยเพิ่มขึ้นทีละ 100K ละเว้นระหว่าง
การบีบอัด ดูส่วน BLOCK SIZE ด้านล่างด้วย
--เร็ว นามแฝงสำหรับ -1.
--ดีที่สุด นามแฝงสำหรับ -9. นี่คือค่าเริ่มต้น
-f, --บังคับ
เปิดไฟล์อินพุตที่ไม่ปกติ เปิดไฟล์อินพุตที่มีมากกว่าหนึ่งลิงก์ ทำลาย
ลิงก์เมื่อ -k ไม่ได้ระบุไว้เพิ่มเติม ลองลบแต่ละไฟล์ที่ส่งออกก่อน
เปิดมัน โดยค่าเริ่มต้น lbzip2 จะไม่เขียนทับไฟล์ที่มีอยู่ ถ้าคุณต้องการสิ่งนี้
ที่จะเกิดขึ้น คุณควรระบุ -f. ถ้า -c และ -d ยังได้รับไม่ปฏิเสธไฟล์
ไม่ใช่ในรูปแบบ bzip2 เพียงคัดลอกโดยไม่มีการเปลี่ยนแปลง ปราศจาก -f lbzip2 จะหยุด
หลังจากเข้าถึงไฟล์ที่ไม่อยู่ในรูปแบบ bzip2
-s, --เล็ก
ลดการใช้หน่วยความจำด้วยต้นทุนของประสิทธิภาพ
-u, --ลำดับ
ดำเนินการแยกบล็อคอินพุตตามลำดับ ซึ่งอาจช่วยปรับปรุงอัตราส่วนการอัดและ
ลดการใช้ CPU แต่จะทำให้ความสามารถในการปรับขนาดลดลง
-v, --รายละเอียด
มีความละเอียดอ่อนมากขึ้น พิมพ์ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับ (ยกเลิก) ความคืบหน้าของการบีบอัดไปที่
ข้อผิดพลาดมาตรฐาน: ก่อนประมวลผลแต่ละไฟล์ ให้พิมพ์ข้อความที่ระบุชื่อ
ไฟล์อินพุตและเอาต์พุต ระหว่าง (de) การบีบอัด พิมพ์เปอร์เซ็นต์คร่าวๆ ของ
ความสมบูรณ์และเวลาที่คาดว่าจะมาถึง (เฉพาะในกรณีที่เชื่อมต่อกับข้อผิดพลาดมาตรฐาน
เทอร์มินัล); หลังจากประมวลผลแต่ละไฟล์แล้ว ให้พิมพ์ข้อความแสดงอัตราส่วนการบีบอัด
ประหยัดพื้นที่ เวลาบีบอัดทั้งหมด (เวลาผนัง) และความเร็วเฉลี่ย (de) การบีบอัด
(ไบต์ของข้อมูลธรรมดาที่ประมวลผลต่อวินาที)
-S พิมพ์สถิติตัวแปรเงื่อนไขเป็นข้อผิดพลาดมาตรฐานสำหรับแต่ละรายการที่ทำเสร็จแล้ว
(de) การดำเนินการบีบอัด มีประโยชน์ในการทำโปรไฟล์
-q, --เงียบ, --ซ้ำ-เร็ว, --ซ้ำซาก-ดีที่สุด, --เอกซ์โปเนนเชียล
ยอมรับความเข้ากันได้กับ bzip2มิฉะนั้นละเลย
-h, --ช่วยด้วย
พิมพ์วิธีใช้เกี่ยวกับการใช้บรรทัดคำสั่งบนเอาต์พุตมาตรฐานและออกได้สำเร็จ
-L, --ใบอนุญาต, -V, --รุ่น
พิมพ์ข้อมูลใบอนุญาตและเวอร์ชันบนเอาต์พุตมาตรฐานและออกได้สำเร็จ
และพวกเรา
LBZIP2, bzip2, บีซิป
ก่อนแยกวิเคราะห์บรรทัดคำสั่ง lbzip2 จะแทรกเนื้อหาของตัวแปรเหล่านี้ in
ลำดับที่ระบุ ระหว่างชื่อเรียกและส่วนที่เหลือของบรรทัดคำสั่ง
โทเค็นถูกคั่นด้วยช่องว่างและแท็บ ซึ่งไม่สามารถหลีกเลี่ยงได้
ตัวดำเนินการ
ไฟล์ ระบุไฟล์ที่จะบีบอัดหรือขยายขนาด
ไฟล์กับ . Bz2, .tbz, .tbz2 และ .tz2 คำต่อท้ายชื่อจะถูกข้ามเมื่อ
การบีบอัด เมื่อคลายการบีบอัด . Bz2 คำต่อท้ายจะถูกลบออกในชื่อไฟล์ที่ส่งออก
.tbz, .tbz2 และ .tz2 คำต่อท้ายจะถูกแทนที่ด้วย .tar; ชื่อไฟล์อื่นๆ จะเป็น
ต่อท้ายด้วย .ออก. หาก INT or ระยะ สัญญาณถูกส่งไปที่ lbzip2แล้วมัน
ลบไฟล์เอาต์พุตปกติที่เปิดอยู่ก่อนออก
หากไม่ได้ระบุ FILE lbzip2 จะทำงานเป็นตัวกรอง ประมวลผลอินพุตมาตรฐานเป็น
เอาต์พุตมาตรฐาน ในกรณีนี้, lbzip2 จะปฏิเสธที่จะเขียนเอาต์พุตที่บีบอัดไปยังa
เทอร์มินัล (หรืออ่านอินพุตที่บีบอัดจากเทอร์มินัล) ซึ่งจะเป็นทั้งหมด
ไม่เข้าใจและดังนั้นจึงไม่มีจุดหมาย
EXIT สถานภาพ
0 if lbzip2 เสร็จสิ้นได้สำเร็จ นี่ถือว่าเมื่อใดก็ตามที่มันพยายาม lbzip2 ไม่เคย
ไม่สามารถเขียนข้อผิดพลาดมาตรฐานได้
1 if lbzip2 พบข้อผิดพลาดร้ายแรง
4 if lbzip2 ออกคำเตือนโดยไม่พบข้อผิดพลาดร้ายแรง นี้สันนิษฐานว่า
ทุกครั้งที่พยายาม lbzip2 ไม่เคยล้มเหลวในการเขียนข้อผิดพลาดมาตรฐาน
ซิกไปป์, SIGXFSZ
if lbzip2 ตั้งใจจะออกมาพร้อมกับสถานะ 1 เนื่องจากข้อผิดพลาดร้ายแรงใด ๆ แต่สัญญาณดังกล่าว
ด้วยกรรมพันธุ์ SIG_DFL การกระทำถูกสร้างขึ้นสำหรับ lbzip2 ก่อนหน้านี้แล้ว lbzip2
สิ้นสุดลงโดยสัญญาณดังกล่าวหลังจากล้างเอาต์พุตที่ขัดจังหวะแล้ว
ไฟล์
ซิกาแบรต
หากการยืนยันรันไทม์ล้มเหลว (เช่น lbzip2 ตรวจพบจุดบกพร่องในตัวเอง) หวังว่า
ใครก็ตามที่รวบรวมไบนารีของคุณไม่กล้าพอที่จะ #กำหนด เอ็นดีบัก.
ซิกนต์, ซิกเทอร์ม
lbzip2 จับสัญญาณเหล่านี้เพื่อให้สามารถลบไฟล์เอาต์พุตที่ถูกขัดจังหวะ ใน
กรณีดังกล่าว lbzip2 ออกโดยการเพิ่ม (หนึ่งใน) สัญญาณที่ได้รับใหม่
BLOCK ขนาด
lbzip2 บีบอัดไฟล์ขนาดใหญ่ในบล็อก สามารถทำงานได้ที่ขนาดบล็อกต่างๆ ตั้งแต่
จาก 100k ถึง 900k ในขั้นตอน 100k และจัดสรรหน่วยความจำได้มากเท่าที่ต้องการ NS
ขนาดบล็อกส่งผลต่อทั้งอัตราส่วนการบีบอัดที่ทำได้และจำนวนหน่วยความจำที่ต้องการ
ทั้งสำหรับการบีบอัดและคลายการบีบอัด ความเร็วในการบีบอัดและคลายการบีบอัดนั้นแทบจะเป็น
ไม่ได้รับผลกระทบจากขนาดบล็อก โดยที่ไฟล์ที่กำลังประมวลผลมีขนาดใหญ่พอที่จะ
แยกระหว่างเธรดผู้ปฏิบัติงานทั้งหมด
ธง -1 ตลอด -9 ระบุขนาดบล็อกเป็น 100,000 ไบต์ถึง 900,000 ไบต์
(ค่าเริ่มต้น) ตามลำดับ ที่เวลาบีบอัด ขนาดบล็อกที่ใช้สำหรับการบีบอัดคือ
อ่านจากไฟล์บีบอัด -- แฟล็ก -1 ไปยัง -9 ไม่เกี่ยวข้องและถูกละเลย
ในระหว่างการคลายการบีบอัด
ขนาดบล็อกที่ใหญ่ขึ้นทำให้ผลตอบแทนส่วนเพิ่มลดลงอย่างรวดเร็ว ที่สุดของการบีบอัด
มาจากบล็อกขนาดสองหรือสามแสนก้อนแรก ความจริงที่ควรค่าแก่การจดจำ
เมื่อใช้ lbzip2 บนเครื่องขนาดเล็ก สิ่งสำคัญคือต้องชื่นชมว่า
ข้อกำหนดหน่วยความจำการคลายการบีบอัดถูกกำหนดไว้ที่เวลาบีบอัดโดยการเลือกขนาดบล็อก
โดยทั่วไป คุณควรลองใช้ข้อจำกัดหน่วยความจำขนาดบล็อกที่ใหญ่ที่สุดที่อนุญาต
จุดสำคัญอีกประการหนึ่งใช้กับไฟล์ขนาดเล็ก โดยการออกแบบเพียงหนึ่งเดียวของ lbzip2คนงาน
เธรดสามารถทำงานบนบล็อกเดียว ซึ่งหมายความว่าหากจำนวนบล็อกใน
ไฟล์บีบอัดน้อยกว่าจำนวนตัวประมวลผลออนไลน์ จากนั้นเธรดของผู้ปฏิบัติงานบางส่วน
จะยังคงว่างตลอดเวลา การบีบอัดไฟล์ขนาดเล็กด้วยขนาดบล็อกที่เล็กกว่าสามารถทำได้
ดังนั้นจึงเพิ่มทั้งความเร็วในการบีบอัดและขยายขนาดได้อย่างมาก ความเร็ว
ความแตกต่างจะเห็นได้ชัดเจนยิ่งขึ้นเมื่อจำนวนคอร์ของ CPU เพิ่มขึ้น
ข้อผิดพลาด การจัดการ
การจัดการกับเงื่อนไขข้อผิดพลาดเป็นสิ่งที่น่าพึงพอใจน้อยที่สุดของ lbzip2. นโยบายคือ
ให้ลองปล่อยให้ระบบไฟล์อยู่ในสถานะคงเส้นคงวา แล้วออกจากระบบ แม้ว่าจะไม่ได้หมายความถึง
กำลังประมวลผลไฟล์บางไฟล์ที่กล่าวถึงในบรรทัดคำสั่ง
`สถานะที่สอดคล้องกัน' หมายความว่ามีไฟล์อยู่ในไฟล์บีบอัดหรือไม่บีบอัด
แบบฟอร์ม แต่ไม่ใช่ทั้งสองอย่าง สิ่งนี้ทำให้กฎ `ลบไฟล์เอาต์พุตหากมีข้อผิดพลาด
เกิดขึ้นโดยปล่อยให้อินพุตไม่เสียหาย' ไฟล์อินพุตจะถูกลบเมื่อเราเป็นได้เท่านั้น
ค่อนข้างแน่ใจว่าไฟล์เอาต์พุตถูกเขียนและปิดสำเร็จแล้ว
ทรัพยากร การจัดสรร
lbzip2 ต้องการทรัพยากรระบบประเภทต่างๆ เพื่อดำเนินการ ได้แก่ หน่วยความจำ เธรด
mutexes และตัวแปรเงื่อนไข นโยบายคือการยอมแพ้หากการจัดสรรทรัพยากร
ความล้มเหลวเกิดขึ้น
ปริมาณการใช้ทรัพยากรเพิ่มขึ้นเชิงเส้นตามจำนวนเธรดของผู้ปฏิบัติงาน ถ้า lbzip2 ล้มเหลวเพราะ
เนื่องจากขาดทรัพยากร การลดจำนวนเธรดของผู้ปฏิบัติงานอาจช่วยได้ มันจะเป็น
เป็นไปได้สำหรับ lbzip2 เพื่อพยายามลดจำนวนเธรดของผู้ปฏิบัติงาน (และด้วยเหตุนี้ทรัพยากร
การบริโภค) หรือเพื่อไปยังไฟล์ที่ตามมาด้วยความหวังว่าบางไฟล์อาจต้องการน้อยลง
ทรัพยากรต่างๆ แต่ความยุ่งยากในการทำเช่นนี้ดูเหมือนเป็นปัญหามากกว่าที่ควรจะเป็น
ได้รับความเสียหาย ไฟล์
lbzip2 พยายามบีบอัดข้อมูลโดยทำการแปลงที่ไม่สำคัญหลายอย่าง
ทุกการบีบอัดของไฟล์มีสมมติฐานว่าไฟล์บีบอัดสามารถ
แตกไฟล์ให้ทำซ้ำต้นฉบับ ความพยายามอย่างมากในการออกแบบ การเขียนโค้ด และการทดสอบมี
ทำขึ้นเพื่อให้แน่ใจว่าโปรแกรมนี้ทำงานอย่างถูกต้อง อย่างไรก็ตาม ความซับซ้อนของ
อัลกอริธึม และโดยเฉพาะอย่างยิ่ง การมีอยู่ของกรณีพิเศษต่างๆ ในโค้ดซึ่ง
เกิดขึ้นด้วยความน่าจะเป็นที่ต่ำมากแต่ไม่ใช่ศูนย์ ทำให้ยากต่อการแยกแยะ
ความเป็นไปได้ของข้อบกพร่องที่เหลืออยู่ในโปรแกรม ที่ไม่ได้หมายความว่าโปรแกรมนี้คือ
ไม่น่าเชื่อถือโดยเนื้อแท้ อันที่จริง ฉันหวังเป็นอย่างยิ่งว่าสิ่งที่ตรงกันข้ามจะเป็นจริง -- lbzip2 ที่ได้รับ
สร้างขึ้นอย่างระมัดระวังและผ่านการทดสอบอย่างกว้างขวาง
เพื่อเป็นการตรวจสอบตนเองเพื่อปกป้องคุณ lbzip2 ใช้ CRC แบบ 32 บิตเพื่อให้แน่ใจว่า
เวอร์ชันที่คลายการบีบอัดของไฟล์จะเหมือนกับไฟล์ต้นฉบับ สิ่งนี้ป้องกัน
ความเสียหายของข้อมูลที่บีบอัด และต่อข้อบกพร่องที่ยังไม่ได้ค้นพบใน lbzip2 (หวังว่า
ไม่น่าจะเป็นไปได้) โอกาสที่ข้อมูลเสียหายจะตรวจไม่พบนั้นเป็นระดับจุลภาค ประมาณหนึ่ง
โอกาสสี่พันล้านสำหรับแต่ละไฟล์ที่ประมวลผล ระวังจะโดนเช็ค
เมื่อคลายการบีบอัดจึงบอกได้เพียงว่ามีบางอย่างผิดปกติ
CRC สามารถตรวจจับได้เฉพาะไฟล์ที่เสียหาย ไม่สามารถช่วยคุณกู้คืนไฟล์ต้นฉบับได้
ข้อมูลที่ไม่บีบอัด อย่างไรก็ตาม เนื่องจากลักษณะการบล็อกของอัลกอริธึมการบีบอัด มัน
อาจสามารถกู้คืนบางส่วนของไฟล์ที่เสียหายได้ แม้ว่าจะมีบางบล็อคก็ตาม
ทำลาย
ใช้ lbzcat ออนไลน์โดยใช้บริการ onworks.net