نظرة عامة

تستخدم أدوات الضغط وفك الضغط لتقليل حجم الملفات والمجلدات لتوفير مساحة التخزين أو لنقلها بسهولة. في نظام لينكس، هناك عدة أدوات للتعامل مع صيغ الضغط المختلفة. في هذه الوحدة، سنتعرف على الأدوات الشائعة مثل tar، gzip، bzip2، zip، و unzip.

نصيحة: لكل صيغة ضغط مزاياها الخاصة. استخدم gzip للسرعة، bzip2 للضغط الأفضل، و zip للتوافق مع أنظمة Windows.

أدوات الضغط الشائعة

اختر صيغة الضغط التي تريد تعلمها:

TAR
GZIP
BZIP2
ZIP
مقارنة الصيغ

أداة TAR (Tape Archive)

أداة tar تستخدم لتجميع الملفات والمجلدات في أرشيف واحد. يمكن دمجها مع أدوات ضغط أخرى مثل gzip أو bzip2.

الأمر الوصف
tar -cvf archive.tar files/ إنشاء أرشيف tar غير مضغوط
tar -czvf archive.tar.gz files/ إنشاء أرشيف مضغوط باستخدام gzip
tar -cjvf archive.tar.bz2 files/ إنشاء أرشيف مضغوط باستخدام bzip2
tar -xvf archive.tar استخراج أرشيف tar
tar -xzvf archive.tar.gz استخراج أرشيف مضغوط باستخدام gzip
tar -xjvf archive.tar.bz2 استخراج أرشيف مضغوط باستخدام bzip2
tar -tf archive.tar عرض محتويات الأرشيف دون استخراج

خيارات TAR الشائعة:

  • -c: إنشاء أرشيف جديد
  • -x: استخراج الأرشيف
  • -v: عرض verbose (عرض الملفات أثناء المعالجة)
  • -f: تحديد اسم الملف
  • -z: استخدام ضغط gzip
  • -j: استخدام ضغط bzip2
  • -t: عرض محتويات الأرشيف

أمثلة عملية:

Terminal
# إنشاء أرشيف مضغوط من مجلد
tar -czvf my_project.tar.gz my_project/

# استخراج أرشيف مضغوط
tar -xzvf my_project.tar.gz

# إنشاء أرشيف من عدة ملفات
tar -cvf documents.tar file1.txt file2.txt document.pdf

# عرض محتويات الأرشيف
tar -tf backup.tar.gz

أداة GZIP

أداة gzip تستخدم لضغط الملفات individually. غالباً ما تستخدم مع tar لضغط المجلدات.

الأمر الوصف
gzip file.txt ضغط ملف (ينشئ file.txt.gz)
gzip -c file.txt > file.txt.gz ضغط مع الاحتفاظ بالملف الأصلي
gzip -d file.txt.gz فك ضغط ملف
gunzip file.txt.gz فك ضغط ملف (مرادف لـ gzip -d)
gzip -9 file.txt ضغط بأقصى مستوى (أبطأ ولكن ضغط أفضل)
gzip -1 file.txt ضغط بأقل مستوى (أسرع ولكن ضغط أقل)

أمثلة عملية:

Terminal
# ضغط ملف مع الاحتفاظ بالأصل
gzip -c large_file.log > large_file.log.gz

# ضغط بأقصى مستوى
gzip -9 large_file.log

# فك ضغط ملف
gzip -d compressed_file.gz

# ضغط عدة ملفات
gzip file1.txt file2.txt file3.txt

أداة BZIP2

أداة bzip2 توفر ضغطاً أفضل من gzip ولكنها أبطأ. غالباً ما تستخدم للملفات الكبيرة.

الأمر الوصف
bzip2 file.txt ضغط ملف (ينشئ file.txt.bz2)
bzip2 -k file.txt ضغط مع الاحتفاظ بالملف الأصلي
bzip2 -d file.txt.bz2 فك ضغط ملف
bunzip2 file.txt.bz2 فك ضغط ملف (مرادف لـ bzip2 -d)
bzip2 -9 file.txt ضغط بأقصى مستوى

أمثلة عملية:

Terminal
# ضغط ملف مع الاحتفاظ بالأصل
bzip2 -k large_file.log

# فك ضغط ملف
bzip2 -d compressed_file.bz2

# ضغط بأقصى مستوى
bzip2 -9 large_file.log

أدوات ZIP و UNZIP

أدوات zip و unzip تستخدم للتعامل مع صيغة ZIP الشائعة، خاصة للتوافق مع أنظمة Windows.

الأمر الوصف
zip archive.zip file.txt إنشاء أرشيف zip من ملف
zip -r archive.zip folder/ إنشاء أرشيف zip من مجلد (بشكل متكرر)
zip -e archive.zip file.txt إنشاء أرشيف zip مشفر بكلمة مرور
unzip archive.zip فك ضغط أرشيف zip
unzip -l archive.zip عرض محتويات الأرشيف دون فك الضغط
unzip -d path/ archive.zip فك الضغط إلى مسار محدد
unzip -P password archive.zip فك ضغط أرشيف محمي بكلمة مرور

أمثلة عملية:

Terminal
# إنشاء أرشيف من مجلد
zip -r my_project.zip my_project/

# إنشاء أرشيف مشفر
zip -e secure.zip confidential.txt

# فك ضغط أرشيف
unzip archive.zip

# فك ضغط إلى مجلد محدد
unzip archive.zip -d /path/to/extract/

# عرض محتويات الأرشيف
unzip -l archive.zip

مقارنة بين صيغ الضغط

كل صيغة ضغط لها مزاياها وعيوبها. هذا جدول مقارنة بين الصيغ الشائعة:

الصيغة الامتداد الضغط السرعة الاستخدام الشائع
GZIP .gz جيد سريع الاستخدام العام، الملفات المنفردة
BZIP2 .bz2 ممتاز بطيء الملفات الكبيرة، عندما يكون الضغط مهماً
ZIP .zip جيد متوسط التواصل مع أنظمة Windows
TAR + GZIP .tar.gz جيد سريع أرشفة المجلدات في لينكس
TAR + BZIP2 .tar.bz2 ممتاز بطيء أرشفة المجلدات مع ضغط عالي
ملاحظة: لا يوجد "أفضل" صيغة ضغط بشكل مطلق. الاختيار يعتمد على احتياجاتك: السرعة مقابل كفاءة الضغط، والتوافق مع الأنظمة الأخرى.

تمارين عملية

لتعزيز فهمك لأوامر الضغط وفك الضغط، قم بتنفيذ المهام التالية:

نصائح وإرشادات

الاحتفاظ بالملفات الأصلية: معظم أدوات الضغط تحذف الملف الأصلي تلقائياً. استخدم الخيار -k أو --keep للاحتفاظ بالملف الأصلي.
الأمان: عند استخدام الضغط المشفر، تأكد من استخدام كلمات مرور قوية وتخزينها بشكل آمن. تجنب استخدام الخيار -P مع unzip في سطور الأوامر حيث يمكن أن تظهر كلمة المرور في سجل الأوامر.
الضغط التقدمي: بعض أدوات الضغط تدعم مستويات ضغط مختلفة. استخدم مستويات ضغط منخفضة (-1) للسرعة، ومستويات عالية (-9) لأفضل ضغط ممكن.

اختبر فهمك

1. ما هو الأمر الصحيح لإنشاء أرشيف مضغوط من مجلد باسم "project" باستخدام ضغط gzip؟

2. كيف يمكنك فك ضغط أرشيف zip إلى مجلد محدد باسم "extracted"?

3. ما هو الفرق بين gzip و bzip2 من حيث الضغط والسرعة؟