أدوات ضغط الملفات على لينوكس
المعلوماتية >>>> عام
ضغط الملفّات على لينوكس مختلف، فهو مقسَّمٌ إلى مرحلتين: مرحلة الأرشفة (archiving) ومرحلة الضّغط (compression). ولكن لماذا مرحلتين؟ السّبب يكمن في أنّ برامج ضغط الملفاّت على نظام لينكيس لا تسمح بضغط أكثرّ من ملفٍ واحدٍ في آنٍ واحد، فلو أردنا ضغط عددٍ كبيرٍ من الملفّات، لن يكون هذا ممكناً.
لذلك نلجأ إلى أولاً إلى تحويل كلِّ الملفّاتِ إلى أرشيفٍ بتجميعها في ملفٍ واحدٍ دون أن تفقد حجمها، ثمَّ يأتي ضغط البيانات، في هذا المقال (هنا) ستجد معلوماتٍ أكثرَ عن الخوارزميّاتِ المُستعمَلة في ضغط البيانات، وسنكتفي في مقالنا الحاليّ باستعراض كيفيّة القيام بذلك.
أولاً: الأرشفة (Archiving)
يسمى البرنامج المسؤول عن أرشفة الملفّاتِ على نظام لينوكس: tar
تسمح هذه الأداة بتجميعِ كلِّ الملفّات الّتي نريد ضغطَها في ملفٍ واحدٍ في عمليّةٍ تُعرَفُ بالأرشفة (archiving) وهذه هي طريقة تنفيذ ذلك:
تُجمع كلُّ الملفّاتِ المرادِ ضغطها: file3، file2، file1،.. في مجلدٍ واحدٍ myFolder ثم تتمُّ أرشفتها إلى ملفٍ واحدٍ بصيغة tar. بتنفيذ الأمر:
tar -cvf archive.tar myFolder/
Image: syr-res.com
الحروف c v f تعني على التّرتيب:
- c: إنشاء ملف (create)
- v: إظهار جميع المعلومات المفصَّلةِ عن سَير العمليّة (verbose mode)
- f: لتكن النّتيجة في ملف (file) (هذا ما نريده)
يمكن أيضا كتابة قائمة الملفّات والاستغناء عن اسم المجلد:
tar -cvf archive.tar file1 file2 file3
أو:
tar -cvf archive.tar file*
Image: syr-res.com
*file تعني جميع الملفات التي تبدأ بـ "file"
ثانياً: ضغط البيانات (Compression)
من أشهر البرامج المُستعمَلة لضغط البيانات:
-gzip: وهو الأكثر استعمالاً، ويتميّزُ بسرعته.
-bzip2: أقلُّ استخداماً من الأوّل، ويتميّزُ بفعاليّةٍ أكبرَ غير أنَّه أبطأ من gzip.
-p7zip:النّسخة المفتوحة المصدر للبرنامج الخاص بضغط الملفّات من نوع 7zip
هناك أيضاً برامج أخرى لكنَّها لم تعد تستخدم الآن، مثل: compress.
على غرار الصّيغ: zip وrar الّتي هي صيغٌ احتكارية، الصّيغ السّابِقِ ذكرها هي صيغٌ حرّة أو مفتوحة المصدر. يجدر الإشارة أيضاً أنّه في حال استعمال كلٍّ من gzip، bzip2 لن يكونَ ممكناً ضغطُ أكثرَ من ملفٍ، لكنَّ الأمرَ مختلفٌ بالنّسبةِ لـِ 7zip، وفيما يلي طريقةُ استعمال كلٍّ من هذه البرامج:
*ضغط الملفات باستعمال gzip:
يضغط الأرشيف الُمشكَّل سابقاً بتنفيذ الأمر:
gzip archive.tar
Image: syr-res.com
والنّتيجة تكون الملف: archive.tar.gz
و لفكِّ الضّغط:
gunzip archive.tar.gz
Image: syr-res.com
والنّتيجة ملفٌ بصيغة tar
gunzip هو البرنامج الخاص بفك ضغط الملفّات بامتداد .tar.gz
*ضغط الملفات باستعمال bzip2:
من أجل الضّغط، نفِّذ الأمر التّالي على الأرشيف الّذي أنشأته سابقاً:
bzip2 archive.tar
Image: syr-res.com
و لفكِّ ضغط البرنامج، استعمل البرنامج bunzip2 الخاص بذلك:
bunzip2 archive.tar.bz2
Image: syr-res.com
الأرشفة والضّغط في خطوةٍ واحدةٍ:
تستطيع اختصارَ العمليَّتين السّابقتين أي أرشفة وضغط الملفّات في عمليّةٍ واحدةٍ باستعمال البرنامج: tar مع بعض التّعديلات بحسب نوع الملفِّ، وهاهي الطّريقة:
1* z c v f:أرشفة وضغط الملفّات في ملف gzip.
بكتابة الأمر tar متبوعاً بالحروف الأربعة، ثمَّ اسمُّ الملفِّ مع الامتداد tar.gz:
tar -zcvf archive.tar.gz myFolder/
Image: syr-res.com
- الحرف z اختصارٌ للأداة: gzip أي ضغط باستعمال خوارزميّة gzip.
2* j c v f: أرشفةُ وضغط الملفّات في ملف bzip2.
يُنفَّذُ الأمر تماماً كما في السّابق، فقط يُستبدل الحرف z بـ j ، وهو اختصارٌ يعني استعمال الأداة bzip2
tar -jcvf archive.tar.gz myFolder/
Image: syr-res.com
فكُّ الضّغطِ باستعمال tar في خطوةٍ واحدةٍ:
ممّا لاشكّ فيه أنَّ اتّباع الطّريقةِ المشروحةِ سابقاً لفكِّ ضغطِ الملفّاتِ طويلةٌ وغيرُ عمليّةٍ، ولن يُفَضِّلَ أحدٌ استعمالها. لذلك وكما شرحنا طريقةَ ضغط الملفّات في خطوةٍ واحدةٍ، سنشرح طريقةً سريعةً لفكِّ الضّغط:
أولاً: الملفّات من نوع: tar.gz
tar -zxvf archive.tar.gz
Image: syr-res.com
- يرمزالحرف z إلى نوع الملفِّ (tar.gz).
- الحرف x اختصارٌ لـ eXtract أي فكّ ضغط.
ثانيًا: الملفّات من نوع: tar.bz2
tar -jxvf archive.tar.bz2
Image: syr-res.com
- يرمز الحرف j إلى نوع الملفّ (tar.bz2).
إنشاءُ وفكُّ ضغط ملفّاتٍ أخرى:
تتوفّر برامج لفكِّ ضغط الصِّيغِ الاحتكاريّةِ الشّهيرةِ المُستعمَلة على أنظمة الويندوز وهي.zip و.rar خاصة بنظام لينوكس، لكن يجب تحميلها فهي لا تأتي مُنصّبة مع النّظام:
● لتحميلِ وتنصيبِ أداةِ فكِّ ضغطِ الملفّات بصيغة: zip
sudo apt-get install unzip
Image: syr-res.com
لفكِّ ضغط ملف zip ، يكفي كتابةُ الأمر:
unzip archive.zip
Image: syr-res.com
ولإنشاءِ ملفِ zip، ننفِّذ الأمر:
zip -r archive.zip myFolder/
Image: syr-res.com
يشير الحرف r إلى recursive أي أنَّه يقومُ بتجميع كلِّ الملفّات داخل المُجلَّد ومن دونه لن يتمَّ تجميعُ أكثر من ملفٍ واحدٍ.
*ضغط الملفّات باستعمال p7zip:
برنامج ضغط الملفّات بصيغة 7z. غيرُ موجودٍ على نظام لينوكس لذلك ينبغي تحميلُ الحزمةِ الخاصّةِ بذلك أولاً، لفعل ذلك نكتب:
sudo apt-get install p7zip-full
Image: syr-res.com
بعد تحميلِ وتنصيبِ الحزمة، نقوم بضغطِ البياناتِ في ملفٍّ واحدٍ بعد تجميعها في مجلدٍ واحدٍ بكتابة الأمر:
/7z a archive.7z myFolder
Image: syr-res.com
- a اختصار لـ إضافة (add)
ولفكِّ الضّغط، نكتب الأمر:
7z x archive.7z
Image: syr-res.com
- x اختصار لـ 'فك ضغط' (extract)
ولمعاينةِ محتوياتِ الأرشيفِ دونَ ضغطٍ، نستبدلُ الحرف السّابق بـ l (اختصار لـ list):
Image: syr-res.com
*الصّيغ الاحتكاريّة:
● فيما يخصُّ صيغة rar، لابدَّ أيضاً من تحميل البرنامجِ الخاص بفكِّ ضغط هذه الملفات:
sudo apt-get install unrar
Image: syr-res.com
لفكِّ ضغط الملفّات من نوع rar، نكتب الأمر:
unrar e archive.rar
Image: syr-res.com
e اختصار لـ extract فكّ ضغط الملفّ في نفس المجلد.
من غير الممكن إنشاءُ ملفٍ من rar على أنظمةِ لينوكس باستعمالِ هذه الأداة، ولكن يمكننا معاينة محتوياتِ الملفِّ دونَ فكِ ضغطه بتنفيذ الأمر:
unrar l archive.rar
Image: syr-res.com
تعني l استعراض (list) الملفّات.
لإنشاءِ ملفّات rar على لينوكس، يجب تحميلُ البرنامج rar الخاص بذلك:
sudo apt-get install rar
Image: syr-res.com
ولإنشاءِ ملفِّ rar، ننفِّذ الأمر:
rar a archive.rar myFolder/
Image: syr-res.com
a تعني إضافة (add) الملفّات.
الّذي سيقومُ بإنشاء ملفٍّ مضغوطٍ بصيغة rar، من محتويات المجلد myFolder
في نهاية هذا المقال، نستعرضُ من خلال الرّسوماتِ البيانيّةِ في الأسفلِ مقارنةً بين مختلف برامج الضّغطِ من ناحية الأداء والسُّرعة.
Image: https://docs.google.com/spreadsheets/d/15LSAowlpV90-_zhEadx98tpApya6bGW5IOP_1AUr8Rw/edit?usp=sharing
Image: https://docs.google.com/spreadsheets/d/15LSAowlpV90-_zhEadx98tpApya6bGW5IOP_1AUr8Rw/edit?usp=sharing
Image: https://docs.google.com/spreadsheets/d/15LSAowlpV90-_zhEadx98tpApya6bGW5IOP_1AUr8Rw/edit?usp=sharing
● مدى توفّر البرامج على أنظمة لينوكس:
gzip، bzip2 > zip > 7z > rar
● مدى توفّر البرامج على أنظمة ويندوز:
zip > rar > 7z > gzip، bzip2
---------------------------------------------------------------
المصادر:
هنا
هنا
هنا