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

سنقوم الآن بإعداد ملف سجل تجريبي باسم app_server.log يحتوي على أسطر متعددة لمستويات مختلفة من السجلات التشغيلية باستخدام الأمر echo.

لضغط الملف مع الاحتفاظ بالنسخة الأصلية غير المضغوطة لتفادي فقدانها أثناء التجربة، نمرر المعامل -k للأمر bzip2 لإنشاء الأرشيف app_server.log.bz2.

للتأكد من توليد الملف المضغوط بنجاح ومراجعة حجمه وبياناته الوصفية، نستعرض معلوماته بواسطة الأمر ls -lh.

2. استعراض محتويات السجل مباشرة عبر bzless
من خلال تشغيل bzless app_server.log.bz2، يُعرض النص الداخلي فوراً على الشاشة دون الحاجة إلى فك الأرشيف مسبقاً.
تعتمد هذه الأداة على عارض النصوص الشهير less، مما يمنحك حرية التنقل بين الصفحات والأسطر عبر الأسهم أو زر المسافة (Space)، ويمكنك الخروج من شاشة العرض في أي وقت بالضغط على مفتاح q.

3. ترقيم الأسطر والبحث عن الأنماط النصية
يتيح تنفيذ الأمر bzless -N app_server.log.bz2 قراءة السجلات المضغوطة مع إظهار أرقام الأسطر بجوار كل مدخلة.
تعد إضافة الخيار -N مفيدة للغاية عند تدقيق السجلات البرمجية الكبيرة، حيث تساعد في تحديد السطر الدقيق الذي وقعت فيه مشكلة معينة دون عناء.
يمكنك أيضاً البحث السريع داخل واجهة العرض بكتابة علامة الشرطة المائلة متبوعة بالكلمة المستهدفة، مثل /ERROR، والتنقل بين التطابقات اللاحقة والسابقة عبر الضغط على n أو N.

4. المقارنة مع bzgrep وbzcat في سيناريوهات العمل الفعلية
عند الرغبة في رصد أحداث محددة دون فتح الواجهة التفاعلية بالكامل، يمكن تنفيذ bzgrep "ERROR" app_server.log.bz2 لتصفية الأسطر التي تتضمن كلمة ERROR فقط وعرضها مباشرة.
تغنيك هذه الخطوة عن مراجعة كامل الأرشيف وتمنحك فحصاً سريعاً لوقوع أي أخطاء حرجة.

عند تشغيل الأمر bzcat app_server.log.bz2 | head -n 2، يتم توجيه النص المفكك مباشرة إلى التدفق القياسي (Standard Output) وتمريره عبر مجرى الأنابيب (|) لاستخراج السطرين الأولين فقط.
على خلاف الطبيعة التفاعلية لأداة bzless، يبرز bzcat كخيار مثالي لدمجه داخل البرمجيات النصية (Shell Scripts) وربطه مع أدوات معالجة النصوص الأخرى مثل awk وgrep وhead.

استعرضنا في هذا الدليل العملي كيفية الاستفادة من أمر bzless على أوبونتو لمعاينة ملفات bz2 المضغوطة بكل سهولة وبأقل استهلاك للموارد.
استعن بهذه التقنية لاحقاً لتفادي الخطوات اليدوية لفك الضغط وتوفير مساحة التخزين أثناء فحص السجلات الضخمة والملفات النصية المؤرشفة.