دليل أمر unzip في أوبونتو: فك الضغط وتحليل النتائج

نظرة عامة

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

تثبيت حزمة unzip وإعداد بيئة العمل التجريبية

قبل البدء بالتعامل مع الملفات المضغوطة، يتعين تزويد النظام بالحزم اللازمة للأرشفة وفك الضغط عبر تشغيل أمر التثبيت التالي:

apt-get update -qq && apt-get install -y zip unzip

للتحقق من إتمام التثبيت ومعاينة رقم الإصدار المعتمد في التوزيعة، ننفذ الأمر unzip -v | head -n 3.
يمثل unzip الأداة القياسية في أنظمة لينكس لمعالجة وفحص حزم الأرشيف ذات الامتداد ZIP.
⚙️ [أبرز الخيارات واستخداماتها]

-l : عرض قائمة الملفات المدرجة داخل الأرشيف دون استخراجها إلى القرص.
-v : إظهار تفاصيل موسعة تشمل نسب الضغط، وأحجام الملفات، ومعلومات التدقيق.
-d : تحديد الدليل الهدف المراد استخراج محتويات الأرشيف داخله.
-q : تشغيل الأداة في الوضع الصامت وإخفاء رسائل المعالجة أثناء التنفيذ.
-o : استبدال أي ملفات سابقة تحمل نفس الاسم تلقائياً ودون طلب تأكيد.
-n : تخطي الملفات المتطابقة مسبقاً والإبقاء على النسخ القديمة دون تعديل.
-t : فحص بنية الأرشيف والتأكد من سلامة البيانات وخلوها من التلف.

unzip -v | head -n 3

لتهيئة بيئة تجارب معزولة، نقوم بإنشاء بنية مجلدات اختبارية ثم الانتقال إليها باستخدام الأمر mkdir -p ~/unzip_demo/docs && cd ~/unzip_demo.

mkdir -p ~/unzip_demo/docs && cd ~/unzip_demo

ننشئ أول ملف نصي في مسار العمل التجريبي عبر تنفيذ الأمر echo "Linux unzip test file 1" > file1.txt.

echo “Linux unzip test file 1” > file1.txt

بعد ذلك، نضيف ملفاً نصياً ثانياً داخل المجلد الفرعي من خلال تشغيل echo "Linux unzip test file 2" > docs/file2.txt.

echo “Linux unzip test file 2” > docs/file2.txt

لتجهيز الأرشيف الذي سنطبق عليه عمليات فك الضغط اللاحقة، نجمع الملفات السابقة في حزمة واحدة عبر الأمر zip -r sample.zip file1.txt docs/.

zip -r sample.zip file1.txt docs/

معاينة محتويات الأرشيف والبيانات الوصفية قبل الاستخراج

للبدء في استكشاف محتوى الحزمة، نتأكد من التواجد داخل مجلد العمل عبر الأمر cd ~/unzip_demo.

cd ~/unzip_demo

عند الرغبة في معرفة بنية الملفات وأحجامها دون تشتيتها في مسار العمل الحالي، نستخدم الأمر unzip -l sample.zip.
يعرض هذا الخيار جدولاً واضحاً يتضمن حجم كل ملف بالبايت (Length)، وطابع التاريخ والوقت، والمسار النسبي، مع إجمالي العناصر داخل الأرشيف.

unzip -l sample.zip

للحصول على تقرير تقني شامل يشمل خوارزمية الضغط ومقدار التوفير في الحجم، ننفذ الأمر unzip -v sample.zip.
تُبرز المخرجات تفاصيل دقيقة مثل طريقة التشفير والضغط (Method)، والنسبة المئوية للاختزال (Cmpr)، وقيمة فحص التكامل CRC-32، مما يتيح التحقق الكامل من سلامة الحزمة.

unzip -v sample.zip

استخراج الملفات الأساسي وتحديد مسار الإخراج

ننتقل إلى مجلد التطبيق العملي لمتابعة تنفيذ عمليات الاستخراج باستخدام الأمر cd ~/unzip_demo.

cd ~/unzip_demo

لتجنب تكديس الملفات داخل مسار العمل الحالي والحفاظ على تنظيم النظام، نستخدم الخيار -d لإنشاء مجلد مستقل واستخراج البيانات داخله عبر الأمر unzip sample.zip -d extracted_files.
يتولى البرنامج توليد المجلد extracted_files تلقائياً مع تفريغ الملفات والمجلدات الفرعية مصحوبة بكلمة extracting لكل عنصر تم فكه.

unzip sample.zip -d extracted_files

للتحقق من سلامة البنية الشجرية للملفات المستخرجة داخل المجلد الهدف، نقوم بتنفيذ ls -la extracted_files.
تظهر النتيجة مطابقة تامة للتسلسل الأصلي، حيث استقر الملف file1.txt والمجلد docs في موضعهما الصحيح.

ls -la extracted_files

للتأكد من عدم تعرض البيانات لأي تشوه أثناء الفك، نعرض محتوى الملف النصي بواسطة cat extracted_files/file1.txt.
تؤكد المخرجات بقاء النصوص والبيانات الأصلية سليمة تماماً دون أدنى نقصان.

cat extracted_files/file1.txt

تفسير مخرجات الطرفية والتحكم في الاستبدال التلقائي

نعود إلى موضع التجربة لمتابعة تطبيق خيارات المعالجة المتقدمة بتنفيذ الأمر cd ~/unzip_demo.

cd ~/unzip_demo

عند الحاجة إلى تحديث الملفات الموجودة بالفعل وتجاوز رسائل طلب التأكيد اليدوية، نلجأ إلى خيار الاستبدال الإجباري عبر الأمر unzip -o sample.zip -d extracted_files.
تقوم الأداة بالكتابة فوق الملفات السابقة فوراً مع إظهار تقرير الاستخراج لكل عنصر على حدة.

unzip -o sample.zip -d extracted_files

في حال تشغيل الأوامر ضمن سكربتات الأتمتة التي لا تتطلب أي مخرجات نصية على الشاشة، يُطبق الوضع الهادئ باستخدام unzip -q sample.zip -d quiet_extracted.
بفضل الخيار -q، يُتم النظام فك الضغط في الخلفية بصمت تام دون طباعة أي أسطر نصية على الطرفية.

unzip -q sample.zip -d quiet_extracted

للتثبت من نجاح الاستخراج الصامت، نفحص محتويات المجلد الجديد عبر الأمر ls -la quiet_extracted.
تؤكد النتيجة اكتمال فك الملف file1.txt والمجلد docs بنجاح وكفاءة تامة.

ls -la quiet_extracted

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