دليل أمر bzmore في لينكس: قراءة ملفات bzip2 دون فكها

نظرة عامة: استعراض المحتوى المضغوط بكفاءة

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

إعداد بيئة العمل وإنشاء ملفات الاختبار المضغوطة

لضمان توفر الأدوات المساعدة وحزمة البرامج المطلوبة داخل بيئة أوبونتو، نبدأ بتحديث مستودعات النظام ثم تثبيت حزمة bzip2:

تحديث المستودعات وتثبيت حزمة bzip2

نقوم بإنشاء سجل خادم تجريبي يحتوي على أحداث مختلفة من تنبيهات وأخطاء لتطبيقه في الاختبارات القادمة، وذلك باستخدام الأمر echo لتوجيه السطور إلى ملف service.log:

كتابة سجلات تجريبية في ملف service.log

يؤدي استخدام الأمر bzip2 افتراضياً إلى حذف الملف الأصلي بعد ضغطه؛ لذلك نمرر الخيار -k (keep) عبر الأمر bzip2 -k service.log للاحتفاظ بنسخة السجل الأصلية إلى جانب الملف المضغوط الجديد:

ضغط السجل مع الاحتفاظ بالأصل عبر bzip2 -k

للتحقق من إتمام عملية الضغط بنجاح ومقارنة الفارق في الحجم بين الملف الخام والأرشيف الناتج، ننفذ الأمر ls -lh service.log*:

معاينة تفاصيل وحجم الملفات الناتجة عبر ls -lh

الاستخدام الأساسي لأمر bzmore: المعاينة الفورية

قبل فتح الملف، نتأكد من سمات وصلاحيات الأرشيف المضغوط المستهدف عن طريق تنفيذ الأمر ls -l service.log.bz2:

فحص حالة الملف المضغوط باستخدام ls -l

صُمم أمر bzmore لقراءة محتويات ملفات .bz2 آنياً وتمريرها لمشاهد النصوص دون كتابة بيانات مؤقتة على وحدة التخزين. عند تشغيل bzmore service.log.bz2، يُعرض اسم الأرشيف في الترويسة العلوية متبوعاً بنصوص السجلات كما هي، مما يسهل المراجعة السريعة دون أي أعباء إضافية.

عرض محتويات الأرشيف المضغوط عبر bzmore

تصفح السجلات الضخمة والتنقل بين الصفحات

لمحاكاة السجلات الطويلة التي تتجاوز مساحة الشاشة الواحدة، نولد ملفاً تجريبياً مكوناً من 120 سطراً ونضغطه مباشرة بتمرير الأمر المجمع: seq 1 120 | sed 's/^/2026-10-15 [EventLog] Process ID #/' > large_events.log && bzip2 -f large_events.log:

توليد سجل ضخم وضغطه لاختبار التصفح

عند استدعاء bzmore large_events.log.bz2، تقسم الأداة الناتج تلقائياً وفقاً لأبعاد الطرفية. يمكنك الضغط على مفتاح المسافة (Spacebar) للقفز إلى الشاشة التالية، أو استخدام مفتاح الإدخال (Enter) للنزول سطراً بسطر؛ وحين تنتهي من الفحص، يكفي النقر على زر q لمغادرة العارض والعودة إلى موجه الأوامر فوراً.

التنقل التدريجي داخل السجلات الكبيرة بأمر bzmore

استعراض عدة ملفات متتالية والمقارنة مع أداة bzless

للتعامل مع عدة ملفات في جلسة واحدة، ننشئ ملفين لسجلات عقدتين افتراضيتين ثم نضغطهما معاً بالأمر: echo 'Node A: Status Healthy' > node_a.log && echo 'Node B: Status Degraded' > node_b.log && bzip2 -f node_a.log node_b.log:

إنشاء ملفات سجلات متعددة وضغطها

يتيح تنفيذ الأمر bzmore node_a.log.bz2 node_b.log.bz2 تفقد قائمة من الملفات بصورة متسلسلة. عند الوصول إلى نهاية الملف الأول، يظهر في الأسفل تنبيه الانتقال --More--(Next file: node_b.log.bz2)، وبالضغط على مفتاح المسافة يُعرض محتوى الملف التالي بسلاسة.
مع ذلك، تجدر الإشارة إلى أن bzmore يعتمد آلية تصفح أحادية الاتجاه نحو الأمام؛ لذلك، إذا كانت طبيعة العمل تتطلب الرجوع للخلف أو البحث المعقد والتنقل الحر ثنائي الاتجاه، فإن الاعتماد على أداة bzless يعد الخيار الأنسب والأكثر مرونة.

معاينة ملفات متعددة بالتتابع عبر bzmore

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