Zcat - Linux Command - คำสั่ง Unix

ชื่อ

gzip, gunzip, zcat - บีบอัดหรือขยายไฟล์

สรุป

gzip [ -acdfhlLnNrtvV19 ] [ -S suffix ] [ name ... ]
gunzip [ -acfhlLnNrtvV ] [ -S suffix ] [ ชื่อ ... ]
zcat [ -fhLV ] [ ชื่อ ... ]

ลักษณะ

Gzip ช่วยลดขนาดของไฟล์ที่ตั้งชื่อโดยใช้ Lempel-Ziv coding (LZ77) เมื่อใดก็ตามที่เป็นไปได้ไฟล์แต่ละไฟล์จะถูกแทนที่ด้วยไฟล์ที่มีนามสกุล . gz ขณะเดียวกันก็รักษาโหมดการเป็นเจ้าของสิทธิ์การเข้าถึงและการแก้ไขครั้งเดียวกัน (นามสกุลเป็นค่าดีฟอลต์คือ -gz สำหรับ VMS, z สำหรับ MSDOS, OS / 2 FAT, Windows NT FAT และ Atari) หากไม่มีการระบุไฟล์หรือถ้าชื่อไฟล์เป็น "-" อินพุตมาตรฐานถูกบีบอัดให้เป็นมาตรฐาน เอาท์พุต Gzip จะพยายามบีบอัดไฟล์ปกติเท่านั้น โดยเฉพาะอย่างยิ่งจะละเว้นการเชื่อมโยงสัญลักษณ์

ถ้าชื่อไฟล์ที่บีบอัดยาวเกินไปสำหรับระบบไฟล์ gzip จะตัดทอน Gzip จะพยายามตัดทอนเฉพาะส่วนของชื่อไฟล์ที่ยาวกว่า 3 ตัวอักษร (ส่วนที่คั่นด้วยจุด) หากชื่อประกอบด้วยชิ้นส่วนขนาดเล็กเท่านั้นส่วนที่ยาวที่สุดจะถูกตัดทอน ตัวอย่างเช่นถ้าชื่อไฟล์ถูก จำกัด ไว้ที่ 14 ตัวอักษรไฟล์ gzip.msdos.exe จะถูกบีบอัดเป็น gzi.msd.exe.gz. ชื่อจะไม่ตัดทอนในระบบที่ไม่มีขีดจำกัดความยาวของชื่อไฟล์

gzip จะเก็บชื่อไฟล์ต้นฉบับและประทับเวลาในไฟล์บีบอัด เหล่านี้จะใช้เมื่อ decompressing ไฟล์ที่มีตัวเลือก -N ซึ่งจะเป็นประโยชน์เมื่อชื่อไฟล์ที่ถูกบีบอัดถูกตัดทอนหรือเมื่อไม่ได้เก็บรักษาประทับเวลาหลังจากการถ่ายโอนไฟล์

สามารถ บีบอัดไฟล์ที่บีบอัดไว้ ในรูปแบบเดิมโดยใช้ gzip -d หรือ gunzip หรือ zcat หากชื่อเดิมที่บันทึกไว้ในไฟล์บีบอัดไม่เหมาะสำหรับระบบไฟล์ชื่อใหม่จะถูกสร้างขึ้นจากไฟล์ต้นฉบับเพื่อให้ถูกต้องตามกฎหมาย

gunzip ใช้รายการไฟล์ในบรรทัดคำสั่งและแทนที่ไฟล์แต่ละไฟล์ที่มีชื่อลงท้ายด้วย. gz, -gz, .z, -z, _z หรือ. Z ซึ่งจะขึ้นต้นด้วยจำนวนมายากลที่ถูกต้องโดยใช้ไฟล์ที่ไม่มีการบีบอัดโดยไม่มีนามสกุลเดิม . gunzip ยังรับทราบส่วนขยายพิเศษ .tgz และ . taz เป็น shorthands สำหรับ . tar.gz และ . tar.Z ตามลำดับ เมื่อบีบอัด gzip จะใช้นามสกุล . tgz หากต้องการแทนการตัดทอนไฟล์ที่มีนามสกุลเป็น. tar

gunzip สามารถขยายขนาดไฟล์ที่สร้างขึ้นโดย gzip, zip, compress, compress-H หรือ pack การตรวจจับรูปแบบอินพุตจะเป็นไปโดยอัตโนมัติ เมื่อใช้รูปแบบสองรูปแบบแรก gunzip จะตรวจสอบ CRC แบบ 32 บิต สำหรับ แพ็ก gunzip จะตรวจสอบความยาวที่ไม่มีการบีบอัด รูปแบบการ บีบอัด มาตรฐานไม่ได้ออกแบบมาเพื่อให้สามารถตรวจสอบได้ อย่างไรก็ตาม gunzip บางครั้งสามารถตรวจพบแฟ้ม. Z ที่ไม่ดี หากคุณได้รับข้อผิดพลาดขณะบีบอัด ไฟล์. Z อย่าถือว่าไฟล์. Z ถูกต้องเนื่องจากการ บีบอัดแบบ มาตรฐานไม่บ่น ซึ่งโดยทั่วไปหมายความว่าการ บีบอัด มาตรฐานไม่ได้ตรวจสอบอินพุทและสร้างผลลัพธ์ขยะได้อย่างมีความสุข รูปแบบการบีบอัด SCO-H (วิธีการบีบอัด lzh) ไม่รวมถึง CRC แต่ยังช่วยให้สามารถตรวจสอบความสอดคล้องได้

ไฟล์ที่สร้างโดย zip สามารถบีบอัดโดย gzip ได้ก็ต่อเมื่อมีสมาชิกคนเดียวที่ถูกบีบอัดด้วยวิธี 'deflation' คุณลักษณะนี้มีไว้เพื่อช่วยในการแปลงไฟล์ tar.zip เป็นรูปแบบ tar.gz เท่านั้น หากต้องการแยกไฟล์ซิปออกจากสมาชิกหลายคนให้ใช้ซิงโคร ไนซ์ แทน gunzip

zcat เหมือนกับ gunzip -c (ในบางระบบอาจติดตั้ง zcat ไว้เป็น gzcat เพื่อสงวนลิงก์ต้นฉบับไว้เพื่อ บีบอัด) zcat จะ บีบอัดรายการไฟล์ในบรรทัดคำสั่งหรืออินพุทมาตรฐานและเขียนข้อมูลที่ไม่มีการบีบอัดในเอาต์พุตมาตรฐาน zcat จะยกเลิกการบีบอัดไฟล์ที่มีหมายเลขมายากลที่ถูกต้องว่ามีนามสกุล . gz หรือไม่

Gzip ใช้อัลกอริทึม Lempel-Ziv ที่ใช้ใน zip และ PKZIP จำนวนของการบีบอัดที่ได้ขึ้นอยู่กับขนาดของอินพุตและการแจกจ่ายสตริงย่อยทั่วไป โดยปกติข้อความเช่นซอร์สโค้ดหรือภาษาอังกฤษจะลดลง 60-70% การบีบอัดโดยทั่วไปดีกว่าที่ทำได้โดย LZW (ใช้ในการ บีบอัด ), การเข้ารหัส Huffman (ตามที่ใช้ใน ชุด ) หรือปรับ Huffman coding ( compact )

การบีบอัดจะทำขึ้นเสมอแม้ว่าไฟล์บีบอัดจะใหญ่กว่าไฟล์ต้นฉบับเล็กน้อย การขยายตัวที่เลวร้ายที่สุดคือไบต์ไม่กี่ไบต์สำหรับส่วนหัวของไฟล์ gzip บวก 5 ไบต์ทุกๆบล็อก 32K หรืออัตราการขยายตัว 0.015% สำหรับไฟล์ขนาดใหญ่ โปรดสังเกตว่าจำนวนบล็อคของดิสก์ที่ใช้จริงเกือบจะไม่มีวันเพิ่มขึ้น gzip จะ เก็บรักษาโหมดกรรมสิทธิ์และ timestamps ของไฟล์ไว้เมื่อบีบอัดหรือขยายขนาด

ตัวเลือก

-a --ascii

โหมดข้อความ Ascii: แปลงจุดสิ้นสุดของบรรทัดโดยใช้อนุสัญญาท้องถิ่น ตัวเลือกนี้ได้รับการสนับสนุนเฉพาะบางระบบที่ไม่ใช่ Unix เท่านั้น สำหรับ MSDOS CR LF จะแปลงเป็น LF เมื่อบีบอัดและ LF จะแปลงเป็น CR LF เมื่อคลายการบีบอัด

-c -stdout-to-stdout

เขียนเอาท์พุทออกมาตรฐาน; เก็บไฟล์ต้นฉบับไม่เปลี่ยนแปลง ถ้ามีไฟล์อินพุตหลายตัวเอาต์พุตประกอบด้วยลำดับการบีบอัดสมาชิกที่เป็นอิสระ เพื่อให้ได้การบีบอัดที่ดียิ่งขึ้นให้รวมไฟล์ที่ป้อนทั้งหมดก่อนบีบอัด

-d-decompress --uncompress

ขยาย

- f --force

บีบอัดหรือบีบอัดแม้ว่าไฟล์จะมีลิงก์หลายไฟล์หรือไฟล์ที่เกี่ยวข้องอยู่แล้วหรือถ้าข้อมูลที่บีบอัดถูกอ่านจากหรือเขียนไปยังเทอร์มินัล หากข้อมูลอินพุตไม่ได้อยู่ในรูปแบบที่ gzip รู้จักและหากเลือกตัวเลือก --stdout ให้คัดลอกข้อมูลอินพุตโดยไม่เปลี่ยนเป็น ouput มาตรฐาน: ให้ zcat ทำงานเป็น cat ถ้าไม่ได้ระบุ -f และเมื่อไม่ได้ทำงานในพื้นหลัง gzip จะแจ้งให้ตรวจสอบว่าไฟล์ที่มีอยู่ควรถูกเขียนทับหรือไม่

-h-help

แสดงหน้าจอความช่วยเหลือและออกจากระบบ

-l-list

สำหรับแต่ละไฟล์บีบอัดให้ระบุฟิลด์ต่อไปนี้:


บีบอัดขนาด: ขนาดของไฟล์บีบอัด
ขนาดไม่มีการบีบอัด: ขนาดของไฟล์ที่ไม่มีการบีบอัด
อัตราส่วน: อัตราส่วนการอัด (0.0% ถ้าไม่ทราบ)
uncompressed_name: ชื่อของไฟล์ที่ไม่มีการบีบอัด

ขนาดที่บีบอัดจะได้รับเป็น -1 สำหรับไฟล์ที่ไม่ได้อยู่ในรูปแบบ gzip เช่นไฟล์บีบอัด Z เพื่อให้ได้ขนาดที่ไม่บีบอัดสำหรับไฟล์ดังกล่าวคุณสามารถใช้:


ไฟล์ zcat.Z wc -c

เมื่อใช้ร่วมกับตัวเลือก --verbose ฟิลด์ต่อไปนี้จะแสดงขึ้นด้วย:


วิธีการ: วิธีการบีบอัด
crc: CRC 32 บิตของข้อมูลที่ไม่มีการบีบอัด
วันที่และเวลา: ประทับเวลาสำหรับไฟล์ที่ไม่มีการบีบอัด

วิธีการบีบอัดที่สนับสนุนในปัจจุบันคือ deflate, compress, lzh (SCO compress -H) และ pack crc จะได้รับเป็น ffffffff สำหรับไฟล์ที่ไม่อยู่ในรูปแบบ gzip

ชื่อ - ชื่อจะไม่มีการบีบอัดชื่อวันที่และเวลาที่เก็บไว้ภายในแฟ้มบีบอัดถ้ามี

ด้วย - verbose ขนาดและอัตราส่วนการบีบอัดไฟล์ทั้งหมดจะปรากฏขึ้นเว้นเสียแต่ว่าจะมีบางขนาดที่ไม่รู้จัก ด้วย - เงียบบรรทัดชื่อและผลรวมไม่ปรากฏขึ้น

- L - ใบอนุญาต

แสดงใบอนุญาต gzip และออก

- n - ไม่มีชื่อ

เมื่อบีบอัดอย่าบันทึกชื่อไฟล์ต้นฉบับและประทับเวลาโดยค่าเริ่มต้น (ชื่อเดิมจะถูกบันทึกไว้เสมอหากชื่อถูกตัดทอน) เมื่อทำการขยายขนาดไฟล์อย่าคืนค่าชื่อไฟล์ต้นฉบับหากมีอยู่ (ลบเฉพาะส่วนต่อ gzip จากชื่อไฟล์ที่บีบอัด) และไม่คืนค่าประทับเวลาเดิมถ้ามีอยู่ (คัดลอกจากไฟล์บีบอัด) ตัวเลือกนี้เป็นค่าดีฟอลต์เมื่อทำการคลายการบีบอัด

-N - ชื่อ

เมื่อทำการบีบอัดให้บันทึกชื่อไฟล์และเวลาเดิมเสมอ นี่เป็นค่าดีฟอลต์ เมื่อทำการขยายขนาดไฟล์ให้เรียกคืนชื่อไฟล์ต้นฉบับและประทับเวลาหากมี ตัวเลือกนี้จะมีประโยชน์ในระบบที่มีความยาวจำกัดความยาวของชื่อไฟล์หรือเมื่อแสตมป์หายหลังจากถ่ายโอนไฟล์

-q --quiet

ยกเลิกคำเตือนทั้งหมด

- r --recursive

เดินทางโครงสร้างไดเรกทอรีอย่างรีบด่วน หากชื่อไฟล์ใด ๆ ที่ระบุในบรรทัดคำสั่งเป็นไดเร็กทอรี gzip จะลงมาในไดเร็กทอรีและบีบอัดไฟล์ทั้งหมดที่พบในนั้น (หรือคลายซิปลงในกรณีของ gunzip )

-S .suf --suffix .suf

ใช้ suffix .suf แทน. gz สามารถใช้คำต่อท้ายได้ แต่ต้องหลีกเลี่ยงส่วนต่อท้ายอื่น ๆ กว่า. z และ. gz เพื่อหลีกเลี่ยงความสับสนเมื่อไฟล์ถูกโอนไปยังระบบอื่น ๆ ต่อท้าย null บังคับ gunzip เพื่อลองบีบอัดไฟล์ที่กำหนดทั้งหมดโดยไม่คำนึงถึงส่วนต่อท้ายเช่นใน:


gunzip -S "" * (*. * สำหรับ MSDOS)

gzip เวอร์ชันก่อนหน้าใช้. z suffix การเปลี่ยนแปลงนี้ได้รับการแก้ไขเพื่อหลีกเลี่ยงความขัดแย้งกับ ชุด (1)

-t - ทดสอบ

ทดสอบ. ตรวจสอบความสมบูรณ์ของไฟล์ที่บีบอัด

-v - verbose

ละเอียด แสดงชื่อและเปอร์เซ็นต์การลดลงสำหรับแต่ละไฟล์ที่บีบอัดหรือแตก

-V-version

รุ่น แสดงหมายเลขเวอร์ชันและตัวเลือกการคอมไพล์แล้วเลิก

- # --fast - เบต้า

กำหนดความเร็วของการบีบอัดโดยใช้หมายเลขหลักที่ระบุซึ่ง -1 หรือ --fast ระบุว่าวิธีการบีบอัดข้อมูลที่เร็วที่สุด (บีบอัดน้อย) และ -9 หรือ - เบต้า แสดงวิธีการบีบอัดที่ช้าที่สุด (การบีบอัดที่ดีที่สุด) ระดับการบีบอัดเริ่มต้นคือ -6 (กล่าวคือลำเอียงต่อการบีบอัดที่มีค่าใช้จ่ายสูง)

การใช้งานขั้นสูง

สามารถบีบอัดไฟล์ที่บีบอัดได้หลายไฟล์ ในกรณีนี้ gunzip จะดึงสมาชิกทั้งหมดพร้อมกัน ตัวอย่างเช่น:


gzip -c file1> foo.gz
gzip -c file2 >> foo.gz

แล้วก็


gunzip-c foo

เท่ากับ


ไฟล์ cat1 file2

ในกรณีที่สมาชิกไฟล์. gz เสียหายสมาชิกอื่น ๆ สามารถกู้คืนได้ (ถ้าสมาชิกที่ถูกลบออก) อย่างไรก็ตามคุณสามารถได้รับการบีบอัดที่ดีขึ้นโดยการบีบอัดสมาชิกทั้งหมดพร้อมกัน:


ไฟล์ cat1 file2 | gzip> foo.gz

บีบอัดได้ดีกว่า


gzip -c file1 file2> foo.gz

ถ้าคุณต้องการบีบอัดไฟล์ใหม่เพื่อบีบอัดข้อมูลให้ดีขึ้นให้ทำ:


gzip-cd old.gz | gzip> new.gz

ถ้า แฟ้มที่บีบอัด ประกอบด้วยสมาชิกหลายรายขนาดที่ไม่มีการบีบอัดและ CRC ที่รายงานโดยตัวเลือกรายการจะมีผลกับสมาชิกรายสุดท้ายเท่านั้น ถ้าคุณต้องการขนาดที่ไม่มีการบีบอัดสำหรับสมาชิกทุกคนคุณสามารถใช้:


gzip -cd file.gz | wc -c

หากคุณต้องการสร้างไฟล์เก็บถาวรเดี่ยวที่มีสมาชิกหลายคนเพื่อให้สมาชิกสามารถแยกออกได้อย่างอิสระในภายหลังให้ใช้ Archiver เช่น tar หรือ zip GNU tar สนับสนุนตัวเลือก -z ในการเรียกใช้ gzip อย่างโปร่งใส gzip ได้รับการออกแบบมาเพื่อเติมเต็ม น้ำมันดิน ไม่ใช่เพื่อทดแทน

ดูสิ่งนี้ด้วย

อัด (1)

รูปแบบไฟล์ gzip ระบุไว้ใน P. Deutsch, GZIP format specification version 4.3, , Internet RFC 1952 (พฤษภาคม 2539) รูปแบบการลดภาวะ zip ระบุไว้ใน. Deutsch, DEFLATE รูปแบบข้อมูลบีบอัดข้อมูลรุ่น 1.3, , Internet RFC 1951 (พฤษภาคม 2539)

สำคัญ: ใช้คำสั่ง man ( % man ) เพื่อดูว่าคำสั่งถูกใช้อย่างไรในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ