شعار ifformat.io iformat.io

TAR vs ZIP vs GZIP: شرح تنسيقات أرشيف Linux

تم التحديث في 17 مايو 2026
7 دقائق قراءة
تعد TAR وZIP وGZIP ثلاثة من تنسيقات الأرشفة والضغط الأكثر شيوعًا على Linux - إلا أن معظم الأشخاص يستخدمونها بالتبادل دون فهم ما يفعله كل منها فعليًا. الارتباك أمر مفهوم. ترى ملفات .tar.gz في كل مكان، وتظهر ملفات ZIP عند تنزيل البرنامج، ويتم ذكر GZIP في تكوينات الخادم. من الناحية العملية، يحل كل تنسيق مشكلة مختلفة، ويؤدي اختيار التنسيق الخاطئ إلى حدوث مشكلات غير ضرورية عند مشاركة الملفات عبر أنظمة التشغيل.

ما الذي يفعله TAR فعليًا (إنه ليس ضاغطًا)

يرمز TAR إلى Tape Archive - وهو الاسم الذي يعود تاريخه إلى الوقت الذي قامت فيه أنظمة Unix بنسخ البيانات احتياطيًا على محركات الأشرطة المغناطيسية. ما يغفله معظم الناس هو أن TAR لا يضغط أي شيء. فهو يجمع ملفات وأدلة متعددة في ملف واحد، مع الحفاظ على بنيتها وأذوناتها وملكيتها وطوابعها الزمنية. فكر في TAR على أنه وضع العناصر في صندوق دون تقليصها.
القوة الحقيقية لـ TAR هي الحفاظ على البيانات الوصفية. في Linux وmacOS، يحتفظ TAR بأذونات ملفات Unix (rwx) والروابط الرمزية وملكية المستخدم والمجموعة والسمات الموسعة. وهذا يجعل TAR ضروريًا للنسخ الاحتياطية للنظام وتوزيع كود المصدر حيث تكون هذه التفاصيل مهمة. يقوم أرشيف TAR الخاص بدليل المشروع بإعادة إنتاج بنية الملف الدقيقة عند استخراجه.
يعد إنشاء أرشيف TAR أمرًا بسيطًا: tar -cf archive.tar /path/to/directory. ال -c العلم يعني إنشاء و -f يحدد اسم الملف. لاستخراج: tar -xf archive.tar. ال -x العلم يعني استخراج. أضف -v للإخراج المطول الذي يوضح كل ملف قيد المعالجة.

GZIP: ضغط ملف واحد يقترن بـ TAR

GZIP (GNU Zip) هي خوارزمية ضغط بحتة. يستغرق الأمر ملفًا واحدًا ويجعله أصغر حجمًا - لا أكثر. لا يمكنك استخدام GZIP لمجلد مباشرة. لا يمكنك تجميع ملفات متعددة باستخدام GZIP وحده. فهو يضغط ملف إدخال واحد وينتج مخرجات بتنسيق .gz. هذا التركيز الفريد هو حسب التصميم: تقول فلسفة Unix أن كل أداة يجب أن تؤدي شيئًا واحدًا بشكل جيد.
يحقق GZIP عادة ضغطًا بنسبة 60-70% على الملفات النصية، مما يعني أن ملف سجل بحجم 10 ميجابايت قد يتقلص إلى 3-4 ميجابايت. في الملفات المضغوطة بالفعل مثل ملفات JPEG أو MP4، بالكاد يوفر GZIP أي مساحة - غالبًا أقل من 2%. سرعة الضغط سريعة، مما يجعلها عملية للعمليات السريعة. تستخدم خوادم الويب GZIP لضغط HTML وCSS وJavaScript قبل إرسالها إلى متصفحك، ولهذا السبب تراها في رؤوس HTTP.
لضغط ملف: gzip filename.txt يخلق filename.txt.gz ويزيل الأصل. لفك الضغط: gunzip filename.txt.gz أو gzip -d filename.txt.gz. للاحتفاظ بالملف الأصلي، استخدم gzip -k filename.txt.

TAR.GZ: مجموعة Linux القياسية

نظرًا لأن ملفات TAR تقوم بتجميع الملفات ويقوم GZIP بضغطها، فإن الجمع بين كليهما يمنحك أرشيفًا مضغوطًا - ملف .tar.gz (يُسمى أيضًا ملف tarball أو .tgz). هذا النهج المكون من خطوتين هو الطريقة القياسية التي يوزع بها Linux التعليمات البرمجية المصدرية للبرنامج والنسخ الاحتياطية للتكوين وملفات المشروع. يوفر كل مشروع مفتوح المصدر تقريبًا تنزيلات على شكل أرشيفات بتنسيق .tar.gz.
قم بإنشاء كرة قطران مضغوطة بأمر واحد: tar -czf archive.tar.gz /path/to/directory. ال -z تخبر العلامة TAR بالتمرير عبر GZIP. استخرجها مع: tar -xzf archive.tar.gz. العملية سلسة - يتولى TAR عملية الأرشفة ويستدعي GZIP للضغط تلقائيًا.

ZIP: التنسيق الشامل الشامل

يقوم ZIP بما يفعله TAR وGZIP بشكل منفصل - فهو يقوم بالأرشفة والضغط في خطوة واحدة. تم إنشاء ZIP في عام 1989، وأصبح التنسيق السائد على نظام التشغيل Windows ويظل تنسيق الأرشيف الأكثر دعمًا عالميًا عبر جميع أنظمة التشغيل. يمكن لنظام التشغيل Windows وmacOS ومعظم بيئات سطح المكتب Linux فتح ملفات ZIP محليًا دون تثبيت برامج إضافية.
ما يتجاهله معظم الناس بشأن ZIP هو كيفية تعامله مع الضغط داخليًا. يتم ضغط كل ملف داخل أرشيف ZIP بشكل فردي. هذا يعني أنه يمكنك استخراج ملف واحد من ملف ZIP كبير الحجم دون فك ضغط أي شيء آخر. باستخدام TAR.GZ، يجب فك ضغط الأرشيف بأكمله للوصول إلى أي ملف. يعد هذا الضغط لكل ملف ميزة كبيرة عند العمل مع الأرشيفات الكبيرة.
في سطر الأوامر: zip -r archive.zip /path/to/directory ينشئ أرشيف ZIP بشكل متكرر. unzip archive.zip يستخرجه. يتعامل معظم مديري الملفات الرسومية على Linux (Nautilus وDolphin وThunar) أيضًا مع إنشاء ملفات ZIP واستخراجها من خلال قوائم النقر بزر الماوس الأيمن.

TAR.GZ vs ZIP: الاختلافات الحقيقية

نسبة الضغط هي التي يفوز بها عادةً TAR.GZ. نظرًا لأن GZIP يضغط الأرشيف بأكمله كتدفق واحد، فيمكنه العثور على أنماط عبر الملفات وضغطها بكفاءة أكبر. يقوم ZIP بضغط كل ملف بشكل مستقل، مما يؤدي إلى فقدان التكرار عبر الملفات. في دليل يحتوي على ملفات نصية مماثلة، قد يحقق TAR.GZ ضغطًا أفضل بنسبة 5-15% من ZIP. في الدلائل ذات المحتوى المختلط، يكون الفرق عادةً أقل من 5%.
الحفاظ على الإذن هو الفرق الحاسم الآخر. يقوم TAR بتخزين أذونات Unix والملكية والروابط الرمزية والطوابع الزمنية بأمانة. يحتوي ZIP على دعم محدود لأذونات Unix - حيث تقوم بعض التطبيقات بتخزينها والبعض الآخر لا يقوم بذلك. إذا كنت تقوم بعمل نسخة احتياطية لخادم Linux أو توزيع برنامج يعتمد على أذونات الملفات، فإن TAR.GZ هو الخيار الأكثر أمانًا.
الراحة عبر الأنظمة الأساسية هي المكان الذي يهيمن عليه ZIP. يحتاج مستخدم Windows الذي يتلقى ملف .tar.gz إلى 7-Zip أو برنامج مشابه لفتحه. يتم فتح ملف ZIP أصلاً في كل مكان. إذا كنت تشارك الملفات مع أشخاص يستخدمون أنظمة تشغيل مختلفة، فإن ZIP يزيل الاحتكاك تمامًا.

TAR.BZ2 وTAR.XZ: بدائل ضغط أفضل

GZIP ليس الضاغط الوحيد الذي يمكنك إقرانه مع TAR. بزيب2 (tar -cjf archive.tar.bz2) عادةً ما يتم ضغطه بنسبة 10-20% أفضل من GZIP ولكنه يعمل بشكل أبطأ بمقدار 2-6 مرات. XZ (tar -cJf archive.tar.xz) يحقق أفضل نسب الضغط - غالبًا ما يكون أفضل بنسبة 20-30% من GZIP - ولكنه الخيار الأبطأ.
تم تحويل كود مصدر Linux kernel من GZIP إلى XZ للتوزيع لأن حجم التنزيل الأصغر يبرر عملية فك الضغط البطيئة. بالنسبة إلى ملف tarball لمصدر النواة بحجم 130 ميجابايت، قد ينتج XZ ملفًا بحجم 75 ميجابايت مقابل 100 ميجابايت لـ GZIP. عندما يكون النطاق الترددي مهمًا وتقوم بالضغط مرة واحدة ولكن تقوم بالتنزيل ملايين المرات، فإن XZ يكون منطقيًا.

متى تستخدم كل تنسيق

استخدم TAR.GZ عندما: توزيع الكود المصدري لبرنامج Linux، أو إنشاء نسخ احتياطية للخادم عندما تكون الأذونات مهمة، أو أرشفة أدلة المشروع على Linux أو macOS، أو ضغط الملفات التي ستبقى ضمن نظام Unix البيئي. TAR.GZ هو الخيار الافتراضي لأي شيء يعمل بنظام التشغيل Linux.
استخدم الرمز البريدي عندما: مشاركة الملفات مع مستخدمي Windows أو Mac، أو إرفاق الأرشيفات بالبريد الإلكتروني، أو توزيع الملفات التي يحتاج المستخدمون غير التقنيين إلى فتحها، أو إنشاء أرشيفات على نظام دون الوصول إلى سطر الأوامر. ZIP هو الرهان العالمي الآمن للمشاركة عبر الأنظمة الأساسية.
استخدم GZIP وحده عندما: ضغط الملفات الفردية مثل ملفات السجل أو عمليات تفريغ قاعدة البيانات أو عمليات تصدير CSV. تستخدم خوادم الويب GZIP لضغط الاستجابات. تستخدم العديد من خطوط أنابيب البيانات GZIP لضغط الملفات الفردية. إذا كان لديك ملف واحد، فإن GZIP يكون أسرع وأبسط من إنشاء أرشيف ZIP.

مرجع سريع للأوامر المشتركة

TAR.GZ: إنشاء: tar -czf backup.tar.gz ./myfiles | استخراج: tar -xzf backup.tar.gz | محتويات القائمة: tar -tzf backup.tar.gz. الرمز البريدي: إنشاء: zip -r archive.zip ./myfiles | استخراج: unzip archive.zip | محتويات القائمة: unzip -l archive.zip. غزيب: ضغط: gzip file.txt | فك الضغط: gunzip file.txt.gz.

التحويل بين صيغ الأرشيف

في بعض الأحيان تتلقى أرشيفًا بتنسيق ما ولكنك تحتاج إليه بتنسيق آخر. يرسل أحد الزملاء ملف TAR ولكن سير عمل Windows الخاص بك يتوقع ملف ZIP. أو قمت بتنزيل ملف ZIP ولكنك تحتاج إلى TAR.GZ للحصول على برنامج نصي لنشر Linux. بدلاً من الاستخراج وإعادة الأرشفة يدويًا، يمكنك استخدام iformat.io TAR لتحويل ZIP للتعامل مع التحويل مباشرة.
بالنسبة للإتجاه العكسي تحويل ZIP إلى TAR عند إعداد الملفات لبيئات Linux. إذا كنت بحاجة إلى أقصى قدر من الضغط، تحويل TAR إلى 7Z يمنحك ضغط LZMA2، والذي يتفوق عادةً على كل من خوارزمية الانكماش الخاصة بـ GZIP وZIP.

اتخاذ القرار الصحيح

يعود الجدل حول التنسيق إلى ثلاثة عوامل: من سيفتح الملف، ونظام التشغيل الذي يستخدمه، وما إذا كانت أذونات Unix مهمة أم لا. بالنسبة لسير عمل Linux إلى Linux، يعد TAR.GZ هو الخيار الطبيعي. بالنسبة لأي شيء يتعلق بمستخدمي Windows، يتجنب ZIP مشاكل التوافق. للحصول على الحد الأقصى من الضغط على مجموعات البيانات الكبيرة، فكر في 7Z أو TAR.XZ.
في الاستخدام اليومي، لا يمكنك أن تخطئ في استخدام ZIP للمشاركة وTAR.GZ للنسخ الاحتياطية. كلاهما مجاني ومدعوم جيدًا وموثوق به. الاختلافات في التنسيق حقيقية ولكن يمكن التحكم فيها - وعندما تحتاج إلى التبديل بينها، فإن المحولات عبر الإنترنت تجعل العملية غير مؤلمة.
تصفح جميع المشاركات