Zcat - قيادة لينكس - قيادة يونيكس

اسم

gzip ، gunzip ، zcat - ضغط أو توسيع الملفات

ملخص

gzip [ -ACdfhlLnNrtvV19 ] [ -اللاحقة ] [ الاسم ... ]
gunzip [ -acfhlLnNrtvV ] [ -S لاحقة ] [ اسم ... ]
zcat [ -fhLV ] [ اسم ... ]

وصف

Gzip يقلل من حجم الملفات المسماة باستخدام ترميز Lempel-Ziv (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 باسم الملف الأصلي والطابع الزمني في الملف المضغوط. يتم استخدام هذه عند إلغاء ضغط الملف مع الخيار -N . يكون هذا مفيدًا عند اقتطاع اسم الملف المضغوط أو عند عدم الاحتفاظ بالطابع الزمني بعد نقل الملف.

يمكن استعادة الملفات المضغوطة إلى شكلها الأصلي باستخدام gzip -d أو gunzip أو zcat. إذا كان الاسم الأصلي الذي تم حفظه في الملف المضغوط غير مناسب لنظام الملفات الخاص به ، فسيتم إنشاء اسم جديد من الاسم الأصلي لجعله قانونيًا.

gunzip يأخذ قائمة من الملفات الموجودة على سطر الأوامر ويستبدل كل ملف ينتهي اسمه بـ .gz أو -gz أو .z أو -z أو _z أو .Z والذي يبدأ بالرقم السحري الصحيح مع ملف غير مضغوط بدون الملحق الأصلي . gunzip أيضا يتعرف على الامتدادات الخاصة .tgz و .taz كاختزال لـ. tar.gz و. tar.Z على التوالي. عند الضغط ، يستخدم gzip الامتداد .tgz إذا لزم الأمر بدلاً من اقتطاع ملف بامتداد .tar .

gunzip يمكن حاليا فك ضغط الملفات التي تم إنشاؤها بواسطة gzip ، والرمز البريدي ، وضغط ، وضغط -H أو حزمة. يتم الكشف عن تنسيق الإدخال تلقائيًا. عند استخدام التنسيقين الأولين ، يتحقق gunzip من CRC 32 بت. لحزمة ، gunzip يتحقق طول غير مضغوط. لم يتم تصميم تنسيق الضغط القياسي للسماح بالتحقق من التناسق. ومع ذلك ، فإن gunzip تكون قادرة أحيانًا على اكتشاف ملف .Z سيء. إذا حصلت على خطأ عند إلغاء ضغط ملف .Z ، فلا تفترض أن الملف .Z صحيح ببساطة لأن عدم ضغط القياسية لا يشتكي. هذا يعني عموما أن إلغاء ضغط قياسي لا تحقق مدخلاتها ، ويولد بسعادة إخراج القمامة. لا يتضمن تنسيق ضغط - H لـ SCO (طريقة ضغط lzh) CRC ولكنه يسمح أيضًا بإجراء بعض التحقق من التناسق.

يمكن إلغاء ضغط الملفات التي أنشأها zip بواسطة gzip فقط إذا كان لها عضو واحد مضغوط باستخدام طريقة "الانكماش". هذه الميزة مخصصة فقط للمساعدة في تحويل ملفات tar.zip إلى تنسيق tar.gz. لاستخراج ملفات zip مع عدة أعضاء ، استخدم فك ضغط بدلاً من gunzip.

zcat هو مماثل ل- guncip ج . (في بعض الأنظمة ، قد يتم تثبيت zcat كـ gzcat للمحافظة على الرابط الأصلي للضغط). يؤدي zcat إلى إلغاء ضغط أي قائمة من الملفات الموجودة على سطر الأوامر أو إدخالها القياسي ويكتب البيانات غير المضغوطة على الإخراج القياسي. سوف zcat إلغاء ضغط الملفات التي تحتوي على الرقم السحري الصحيح ما إذا كان لديهم لاحقة .gz أم لا.

يستخدم Gzip خوارزمية Lempel-Ziv المستخدمة في zip و PKZIP. تعتمد كمية الضغط التي تم الحصول عليها على حجم الإدخال وتوزيع سلاسل فرعية شائعة. عادة ، يتم تقليل النص مثل رمز المصدر أو اللغة الإنجليزية بنسبة 60-70 ٪. يكون الضغط بشكل عام أفضل بكثير من ذلك الذي حققه LZW (كما هو مستخدم في الضغط ) ، أو ترميز Huffman (كما هو مستخدم في حزمة ) ، أو ترميز Huffman التكيفي ( مضغوط ).

يتم تنفيذ الضغط دائمًا ، حتى إذا كان الملف المضغوط أكبر قليلاً من الأصل. توسع الحالة الأسوأ هو عدد قليل من وحدات البايت لرأس الملف gzip ، بالإضافة إلى 5 بايت لكل كتلة 32 كيلو بايت ، أو نسبة توسع تصل إلى 0.015٪ للملفات الكبيرة. لاحظ أن العدد الفعلي للكتل القرص المستخدمة يزيد تقريبا أبدا. تحافظ gzip على الوضع والملكية والطوابع الزمنية للملفات عند الضغط أو إلغاء الضغط.

خيارات

-a-ascii

وضع النص Ascii: تحويل نهاية خطوط باستخدام الاصطلاحات المحلية. يتم دعم هذا الخيار فقط على بعض الأنظمة غير التابعة لـ Unix. بالنسبة لـ MSDOS ، يتم تحويل CR LF إلى LF عند الضغط ، ويتم تحويل LF إلى CR LF عند فك الضغط.

-c --stdout - إلى stdout

كتابة الإخراج على الإخراج القياسي ؛ الحفاظ على الملفات الأصلية دون تغيير. إذا كان هناك العديد من ملفات الإدخال ، يتكون الإخراج من تسلسل للأعضاء المضغوطة بشكل مستقل. للحصول على ضغط أفضل ، قم بتسلسل جميع ملفات الإدخال قبل ضغطها.

-d - الضغط - دون ضغط

ضغط.

-f - القوة

فرض الضغط أو إلغاء الضغط حتى إذا كان الملف يحتوي على ارتباطات متعددة أو أن الملف المقابل موجود بالفعل ، أو إذا تمت قراءة البيانات المضغوطة من أو كتابة إلى جهاز طرف. إذا لم تكن بيانات الإدخال بتنسيق معترف به من قبل gzip ، وإذا تم أيضًا منح الخيار - stdout ، فقم بنسخ بيانات الإدخال دون تغيير إلى الإخراج القياسي: دع zcat تتصرف كقط . إذا لم يتم تقديم -f ، وعندما لا يعمل في الخلفية ، فستطالب gzip بالتحقق مما إذا كان الملف الحالي يجب استبداله أم لا.

-h - مساعدة

عرض شاشة مساعدة وإنهاء.

-l --list

لكل ملف مضغوط ، قم بسرد الحقول التالية:


حجم مضغوط: حجم الملف المضغوط
حجم غير مضغوط: حجم الملف غير مضغوط
النسبة: نسبة الضغط (0.0٪ إذا لم تكن معروفة)
uncompressed_name: اسم الملف غير المضغوط

يتم إعطاء حجم غير مضغوط كـ -1 للملفات غير بتنسيق gzip ، مثل ملفات .Z المضغوطة. للحصول على حجم غير مضغوط لمثل هذا الملف ، يمكنك استخدام:


zcat file.Z | مرحاض - ج

بالاشتراك مع خيار --verbose ، يتم عرض الحقول التالية أيضًا:


طريقة: طريقة الضغط
crc: CRC 32 بت للبيانات غير المضغوطة
التاريخ والوقت: الطابع الزمني للملف غير المضغوط

أساليب الضغط المعتمدة حاليًا هي deflate ، compress ، lzh (ضغط SCO -H) وحزم. يتم إعطاء crc كـ ffffffff لملف ليس بتنسيق gzip.

مع الاسم ، اسم غير مضغوط والتاريخ والوقت هي تلك المخزنة داخل ملف ضغط إذا كان موجودا.

باستخدام --verbose ، يتم عرض إجماليات الحجم ونسبة الضغط لكافة الملفات أيضًا ، ما لم تكن بعض الأحجام غير معروفة. مع --quiet ، لا يتم عرض عنوان وقوائم الإجماليات.

-L --license

عرض ترخيص gzip والإقلاع عنه .

-n- لا اسم

عند الضغط ، لا تقم بحفظ اسم الملف الأصلي وختم الوقت بشكل افتراضي. (يتم حفظ الاسم الأصلي دائمًا إذا كان يجب اقتطاع الاسم.) عند إلغاء الضغط ، لا تقم باستعادة اسم الملف الأصلي إذا كان موجودًا (قم بإزالة لاحقة gzip فقط من اسم الملف المضغوط) ولا تقم باستعادة الطابع الزمني الأصلي إذا كان موجودًا (نسخها من الملف المضغوط). هذا الخيار هو الخيار الافتراضي عند فك الضغط.

-N - اسم

عند الضغط ، احفظ دائمًا اسم الملف الأصلي وختمه الزمني ؛ هذا هو الافتراضي. عند إلغاء الضغط ، قم باستعادة اسم الملف الأصلي وختم الوقت إذا كان موجودًا. يعتبر هذا الخيار مفيدًا على الأنظمة التي لها حد على طول اسم الملف أو عند فقد الطابع الزمني بعد نقل الملف.

-q --quiet

قم بإيقاف كل التحذيرات.

-r - استرجاع

السفر بنية الدليل بشكل متكرر. إذا كانت أي من أسماء الملفات المحددة في سطر الأوامر عبارة عن أدلة ، فسوف ينزل gzip إلى الدليل ويضغط على جميع الملفات التي يجدها هناك (أو فك ضغطها في حالة gunzip ).

-S .suf --suffix .suf

استخدم لاحقة .suf بدلاً من .gz. يمكن إعطاء أي لاحقة ، ولكن يجب تجنب اللاحقات غير .z و .gz لتجنب الارتباك عندما يتم نقل الملفات إلى أنظمة أخرى. تلتزم اللاحقة الخاطئة بفك الرمية في محاولة إلغاء الضغط على جميع الملفات المعطاة بغض النظر عن لاحقة ، كما في:


gunzip -S "" * (*. * لـ MSDOS)

الإصدارات السابقة من gzip استخدمت لاحقة .z. تم تغيير هذا لتجنب صراع مع حزمة (1).

-t- الاختبار

اختبار. تحقق من تكامل الملف المضغوط.

-v - مطول

مطول. عرض الاسم وتقليل النسبة المئوية لكل ملف مضغوط أو مضغوط.

-V - النسخة

الإصدار. عرض رقم الإصدار وخيارات الترجمة ثم قم بإنهاء.

- # - سريع - أفضل

تنظيم سرعة الضغط باستخدام الرقم المحدد # ، حيث يشير -1 أو - سريع إلى أسرع طريقة ضغط (أقل ضغط) و -9 أو - يشير إلى أبسط طريقة ضغط (أفضل ضغط). مستوى الضغط الافتراضي هو -6 (أي ، متحيز للضغط العالي على حساب السرعة).

الاستخدام المتقدم

يمكن أن يكون متصلاً ملفات مضغوطة متعددة. في هذه الحالة ، سيتم استخراج gunzip جميع الأعضاء في وقت واحد. فمثلا:


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

ثم


gunzip -c foo

ما يعادل


قطة file1 file2

في حالة حدوث ضرر لأحد الأعضاء في ملف .gz ، لا يزال من الممكن استرداد أعضاء آخرين (في حالة إزالة العضو التالف). ومع ذلك ، يمكنك الحصول على ضغط أفضل عن طريق ضغط كافة الأعضاء في وقت واحد:


قطة file1 file2 | gzip> foo.gz

يضغط أفضل من


gzip -c file1 file2> foo.gz

إذا كنت ترغب في إعادة ضغط الملفات المتسلسلة للحصول على ضغط أفضل ، قم بما يلي:


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

إذا كان الملف المضغوط يتألف من عدة أعضاء ، فإن الحجم غير المضغوط و CRC الذي يتم الإبلاغ عنه بواسطة الخيار --list ينطبق على العضو الأخير فقط. إذا كنت بحاجة إلى حجم غير مضغوط لجميع الأعضاء ، فيمكنك استخدام:


gzip -cd file.gz | مرحاض - ج

إذا كنت ترغب في إنشاء ملف أرشيف واحد يضم عدة أعضاء بحيث يمكن لاحقًا استخراج الأعضاء بشكل مستقل ، فاستخدم أرشيفًا مثل tar أو zip. GNU tar يدعم الخيار -z لاستدعاء gzip بشفافية. تم تصميم gzip كمكمل ل tar ، وليس كبديل.

أنظر أيضا

ضغط (1)

تم تحديد تنسيق ملف gzip في P. Deutsch ، GZIP ، تنسيق مواصفات ملفات الإصدار 4.3 ، ، إنترنت RFC 1952 (مايو 1996). تم تحديد تنسيق الانكماش البريدي في P. Deutsch ، DEFLATE Compressed Data Format Specification الإصدار 1.3 ، ، إنترنت RFC 1951 (مايو 1996).

هام: استخدم الأمر man ( ٪ man ) لمعرفة كيفية استخدام أمر ما على جهاز الكمبيوتر الخاص بك.