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

نقوم الآن بإنشاء ثلاثة ملفات نصية تجريبية: ملفان يحملان النص نفسه بدقة، وثالث يحتوي على محتوى مغاير لاختبار حالات عدم التطابق:

نضغط الملفات الثلاثة بصيغة .bz2 مع تمرير المعامل (-k) للاحتفاظ بالملفات الأصلية دون حذفها، ثم نستعرض النتيجة للتأكد من اكتمال العملية بنجاح:

مقارنة أرشيفين متطابقين والتحقق من رمز الحالة ($?)
لفحص أرشيفين يحملان البيانات نفسها، نمرر الملفين للأمر bzcmp sample1.txt.bz2 sample2.txt.bz2. ونظراً للتطابق التام بين المحتويين، تنهي الأداة فحصها بصمت دون طباعة أي مخرجات في الطرفية:

للتحقق البرمجي من نتيجة المعالجة، نستعلم عن كود الحالة الخاص بآخر عملية عبر الأمر echo "Exit Code: $?":

تشير القيمة 0 إلى نجاح العملية وتطابق بيانات الملفين المضغوطين بنسبة 100%.
مقارنة أرشيفات مختلفة ورصد تباين البايتات
عند الرغبة في اكتشاف الفروقات بين ملفين متباينين في المحتوى، ننفذ الأمر bzcmp sample1.txt.bz2 sample3.txt.bz2. تكتشف الأداة نقطة الاختلاف الأولى وتطبع فوراً رقم البايت ورقم السطر الذي بدأ عنده التباين:

وباستعراض رمز انتهاء الأمر مرة أخرى للتأكد من استجابة النظام:

يُرجع الأمر رمزاً رقمياً يشير إلى انتهاء الفحص مع العثور الفعلي على اختلافات بين الملفين.
إذا كنت بحاجة إلى جرد تفصيلي لكافة مواضع التباين بالنظام الثماني (Octal) مع إزاحات البايتات، يمكنك تمرير الخيار -l كما في الأمر bzcmp -l sample1.txt.bz2 sample3.txt.bz2:

تعتمد الأداة في هذا النمط على آلية cmp -l لتعرض تباعاً رقم البايت بالترقيم العشري متبوعاً بالقيمة الثمانية للبايت في كل من الملفين.
المقارنة المباشرة مع ملف نصي عادي وتنظيف بيئة العمل
الميزة الاستثنائية في bzcmp هي قدرتها على مضاهاة ملف مضغوط .bz2 بملف نصي غير مضغوط دون وسيط، مما يوفر عناء المعالجة اليدوية. ننفذ bzcmp sample1.txt.bz2 sample1.txt:

بما أن النسخة المضغوطة مطابقة للأصلية تماماً، ينتهي الأمر دون إخراج أي تنبيهات.
لاختبار سلوك المقارنة المتقاطعة عند وجود اختلاف، ننشئ ملفاً نصياً جديداً بقيم مغايرة ونجري المقارنة:

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

يوفر استخدام bzcmp في أوبونتو أسلوباً احترافياً وسريعاً لمراجعة ملفات النسخ الاحتياطي وسجلات الخوادم المضغوطة بصيغة bzip2 دون تحميل القرص الصلب عمليات فك تشفير وتوسيع غير ضرورية.