دليل فك ضغط ملفات bzip2 في أوبونتو عبر bunzip2

نظرة عامة

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

إعداد حزمة bunzip2 وبدء عمليات الاستخراج الأساسية

لبدء تهيئة بيئة العمل، يلزم التحقق من توفر حزمة الأدوات داخل نظام التشغيل عبر تحديث المستودعات وتثبيتها بالأمر التالي:

تثبيت أداة bzip2 على أوبونتو

apt-get update -qq && apt-get install -y bzip2

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

إنشاء ملف وضغطه بصيغة bz2

echo 'Hello Linux bunzip2 tutorial' > sample1.txt && bzip2 sample1.txt

يقوم الأمر bunzip2 sample1.txt.bz2 بمعالجة الأرشيف وفك محتواه مباشرة إلى مسار العمل الحالي.
يرجى الانتباه إلى أن السلوك التلقائي للأداة يقضي بحذف ملف .bz2 فور إتمام عملية الاسترجاع بنجاح، مستبدلاً إياه بالملف النصي المفكوك.

⚙️ [أهم مفاتيح التحكم والخيارات]:

-k : يمنع إزالة أرشيف .bz2 الأصلي بعد انتهاء عملية فك الضغط.
-f : يتجاوز رسائل التحذير ويفرض الكتابة فوق الملفات الموجودة مسبقاً بنفس الاسم.
-v : يعرض تفاصيل تقدم المعالجة ونسبة الضغط على الطرفية بشكل تفاعلي.
-c : يوجه المحتوى المفكوك مباشرة إلى مجرى الإخراج القياسي (stdout) دون إنشاء ملف مستقل.
-t : يختبر سلامة بيانات الأرشيف ويكتشف أي تلف محتمل دون استخراج أي ملفات فعلياً.

فك ضغط ملف bz2 باستخدام bunzip2

للتأكد من استعادة البيانات بدقة وسلامة هيكلها النصي، نستعرض المحتوى عبر أمر قراءة الملفات:

التحقق من محتوى الملف المسترجع

cat sample1.txt

الاحتفاظ بالنسخة المضغوطة الأصلية أثناء الاستخراج (الخيار -k)

إذا كنت ترغب في فك المحتويات مع تفادي الحذف التلقائي للأرشيف، نوفر هنا مثالاً تطبيقياً يبدأ بإنشاء مستند جديد وضغطه:

إنشاء ملف تجريبي لاختبار خيار الحفظ

echo 'Keep original archive test' > keep_test.txt && bzip2 keep_test.txt

يؤدي تمرير المعامل -k مع الأمر إلى تفكيك حزمة البيانات مع ترك ملف .bz2 الأصلي دون مساس:

استخراج المحتوى مع الحفاظ على الأرشيف عبر المعامل k

bunzip2 -k keep_test.txt.bz2

عند تفقد عناصر المجلد التنفيذي بواسطة أمر سرد الملفات، يظهر بجلاء وجود الملف المفكوك (keep_test.txt) جنباً إلى جنب مع نسخته المضغوطة (keep_test.txt.bz2):

سرد الملفات والتأكد من بقاء النسختين معا

ls -lh keep_test*

تتبع تفاصيل المعالجة وفرض الاستبدال الفوري (الخيارات -v و -f)

في السيناريوهات التي تتطلب تجاوز قيود الملفات المكررة ومتابعة سير العمل لحظة بلحظة، ننشئ ملفاً مكرراً للتجربة بواسطة الأمر التالي:

توليد ملف لاختبار فرض الاستبدال وعرض التفاصيل

echo 'Force overwrite test content' > force_test.txt && bzip2 -k force_test.txt

عند دمج المعاملين -v و -f، تقوم الأداة بتبديل الملف القائم مسبقاً (force_test.txt) دون المطالبة بتأكيد يدوي، متزامناً ذلك مع إظهار تفاصيل إحصائية شاملة حول سرعة ومراحل فك الضغط على الشاشة:

تطبيق الاستبدال القسري وإظهار مؤشرات التقدم

bunzip2 -vf force_test.txt.bz2

معاينة محتويات الأرشيف فورياً دون فكها على القرص (الخيار -c)

لتفقد البيانات الداخلية على وجه السرعة دون حجز مساحات تخزينية لكتابة ملفات جديدة، ننشئ عينة مضغوطة عبر السطر التالي:

تجهيز حزمة بيانات لتجربة العرض المباشر

echo 'Stream and preview test data' > stream_test.txt && bzip2 stream_test.txt

يقوم المعامل -c بتحويل مخرجات الملف المفكوك آنياً نحو الطرفية عبر مجرى الإخراج القياسي (stdout)، مما يتيح لك قراءة النصوص فوراً أو توجيهها لأدوات أخرى مثل grep عبر أنابيب التمرير (Pipes):

عرض محتوى الملف مباشرة عبر مجرى الإخراج القياسي

bunzip2 -c stream_test.txt.bz2

وبإجراء فحص سريع لمحتوى الدليل، نلاحظ بقاء ملف الأرشيف (stream_test.txt.bz2) سليماً في مكانه دون التعرض لأي تعديل أو حذف تلقائي:

التحقق من بقاء الأرشيف المضغوط دون استخراج فعلي

ls -lh stream_test.txt.bz2

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