المعلوماتية > عام

أدوات ضغط الملفات على لينوكس

استمع على ساوندكلاود 🎧

عمليّات ضغطِ وفكّ ضغطِ الملفّات تُمارَس بشكلٍ تلقائي بعد التّحميل مباشرةً، معظم الملفّاتِ الموجّهة لأنظمة لينوكس تكون مضغوطةً ومن المهمِّ التّفريق بين صيغ هذه الملفّات ومعرفة طريقة فكِّ ضغطها من سطر الأوامر، لأنَّ هذه مجرَّدُ خطوة من بين الكثير من الخطوات الواجب اتّباعها لتنصيب برنامجٍ مثلاً.

ضغط الملفّات على لينوكس مختلف، فهو مقسَّمٌ إلى مرحلتين: مرحلة الأرشفة (archiving) ومرحلة الضّغط (compression). ولكن لماذا مرحلتين؟ السّبب يكمن في أنّ برامج ضغط الملفاّت على نظام لينكيس لا تسمح بضغط أكثرّ من ملفٍ واحدٍ في آنٍ واحد، فلو أردنا ضغط عددٍ كبيرٍ من الملفّات، لن يكون هذا ممكناً.

لذلك نلجأ إلى أولاً إلى تحويل كلِّ الملفّاتِ إلى أرشيفٍ بتجميعها في ملفٍ واحدٍ دون أن تفقد حجمها، ثمَّ يأتي ضغط البيانات، في هذا المقال (هنا) ستجد معلوماتٍ أكثرَ عن الخوارزميّاتِ المُستعمَلة في ضغط البيانات، وسنكتفي في مقالنا الحاليّ باستعراض كيفيّة القيام بذلك.

أولاً: الأرشفة (Archiving)

يسمى البرنامج المسؤول عن أرشفة الملفّاتِ على نظام لينوكس: tar

تسمح هذه الأداة بتجميعِ كلِّ الملفّات الّتي نريد ضغطَها في ملفٍ واحدٍ في عمليّةٍ تُعرَفُ بالأرشفة (archiving) وهذه هي طريقة تنفيذ ذلك:

تُجمع كلُّ الملفّاتِ المرادِ ضغطها: file3، file2، file1،.. في مجلدٍ واحدٍ myFolder ثم تتمُّ أرشفتها إلى ملفٍ واحدٍ بصيغة tar. بتنفيذ الأمر:

tar -cvf archive.tar myFolder/

الحروف c v f تعني على التّرتيب:

- c: إنشاء ملف (create)

- v: إظهار جميع المعلومات المفصَّلةِ عن سَير العمليّة (verbose mode)

- f: لتكن النّتيجة في ملف (file) (هذا ما نريده)

يمكن أيضا كتابة قائمة الملفّات والاستغناء عن اسم المجلد:

tar -cvf archive.tar file1 file2 file3

أو:

tar -cvf archive.tar file*

*file تعني جميع الملفات التي تبدأ بـ "file"

ثانياً: ضغط البيانات (Compression)

من أشهر البرامج المُستعمَلة لضغط البيانات:

-gzip: وهو الأكثر استعمالاً، ويتميّزُ بسرعته.

-bzip2: أقلُّ استخداماً من الأوّل، ويتميّزُ بفعاليّةٍ أكبرَ غير أنَّه أبطأ من gzip.

-p7zip:النّسخة المفتوحة المصدر للبرنامج الخاص بضغط الملفّات من نوع 7zip

هناك أيضاً برامج أخرى لكنَّها لم تعد تستخدم الآن، مثل: compress.

على غرار الصّيغ: zip وrar الّتي هي صيغٌ احتكارية، الصّيغ السّابِقِ ذكرها هي صيغٌ حرّة أو مفتوحة المصدر. يجدر الإشارة أيضاً أنّه في حال استعمال كلٍّ من gzip، bzip2 لن يكونَ ممكناً ضغطُ أكثرَ من ملفٍ، لكنَّ الأمرَ مختلفٌ بالنّسبةِ لـِ 7zip، وفيما يلي طريقةُ استعمال كلٍّ من هذه البرامج:

*ضغط الملفات باستعمال gzip:

يضغط الأرشيف الُمشكَّل سابقاً بتنفيذ الأمر:

gzip archive.tar

والنّتيجة تكون الملف: archive.tar.gz

و لفكِّ الضّغط:

gunzip archive.tar.gz

والنّتيجة ملفٌ بصيغة tar

gunzip هو البرنامج الخاص بفك ضغط الملفّات بامتداد .tar.gz

*ضغط الملفات باستعمال bzip2:

من أجل الضّغط، نفِّذ الأمر التّالي على الأرشيف الّذي أنشأته سابقاً:

bzip2 archive.tar

و لفكِّ ضغط البرنامج، استعمل البرنامج bunzip2 الخاص بذلك:

bunzip2 archive.tar.bz2

الأرشفة والضّغط في خطوةٍ واحدةٍ:

تستطيع اختصارَ العمليَّتين السّابقتين أي أرشفة وضغط الملفّات في عمليّةٍ واحدةٍ باستعمال البرنامج: tar مع بعض التّعديلات بحسب نوع الملفِّ، وهاهي الطّريقة:

1* z c v f:أرشفة وضغط الملفّات في ملف gzip.

بكتابة الأمر tar متبوعاً بالحروف الأربعة، ثمَّ اسمُّ الملفِّ مع الامتداد tar.gz:

tar -zcvf archive.tar.gz myFolder/

- الحرف z اختصارٌ للأداة: gzip أي ضغط باستعمال خوارزميّة gzip.

2* j c v f: أرشفةُ وضغط الملفّات في ملف bzip2.

يُنفَّذُ الأمر تماماً كما في السّابق، فقط يُستبدل الحرف z بـ j ، وهو اختصارٌ يعني استعمال الأداة bzip2

tar -jcvf archive.tar.gz myFolder/

فكُّ الضّغطِ باستعمال tar في خطوةٍ واحدةٍ:

ممّا لاشكّ فيه أنَّ اتّباع الطّريقةِ المشروحةِ سابقاً لفكِّ ضغطِ الملفّاتِ طويلةٌ وغيرُ عمليّةٍ، ولن يُفَضِّلَ أحدٌ استعمالها. لذلك وكما شرحنا طريقةَ ضغط الملفّات في خطوةٍ واحدةٍ، سنشرح طريقةً سريعةً لفكِّ الضّغط:

أولاً: الملفّات من نوع: tar.gz

tar -zxvf archive.tar.gz

- يرمزالحرف z إلى نوع الملفِّ (tar.gz).

- الحرف x اختصارٌ لـ eXtract أي فكّ ضغط.

ثانيًا: الملفّات من نوع: tar.bz2

tar -jxvf archive.tar.bz2

- يرمز الحرف j إلى نوع الملفّ (tar.bz2).

إنشاءُ وفكُّ ضغط ملفّاتٍ أخرى:

تتوفّر برامج لفكِّ ضغط الصِّيغِ الاحتكاريّةِ الشّهيرةِ المُستعمَلة على أنظمة الويندوز وهي.zip و.rar خاصة بنظام لينوكس، لكن يجب تحميلها فهي لا تأتي مُنصّبة مع النّظام:

● لتحميلِ وتنصيبِ أداةِ فكِّ ضغطِ الملفّات بصيغة: zip

sudo apt-get install unzip

لفكِّ ضغط ملف zip ، يكفي كتابةُ الأمر:

unzip archive.zip

ولإنشاءِ ملفِ zip، ننفِّذ الأمر:

zip -r archive.zip myFolder/

يشير الحرف r إلى recursive أي أنَّه يقومُ بتجميع كلِّ الملفّات داخل المُجلَّد ومن دونه لن يتمَّ تجميعُ أكثر من ملفٍ واحدٍ.

*ضغط الملفّات باستعمال p7zip:

برنامج ضغط الملفّات بصيغة 7z. غيرُ موجودٍ على نظام لينوكس لذلك ينبغي تحميلُ الحزمةِ الخاصّةِ بذلك أولاً، لفعل ذلك نكتب:

sudo apt-get install p7zip-full

بعد تحميلِ وتنصيبِ الحزمة، نقوم بضغطِ البياناتِ في ملفٍّ واحدٍ بعد تجميعها في مجلدٍ واحدٍ بكتابة الأمر:

/7z a archive.7z myFolder

- a اختصار لـ إضافة (add)

ولفكِّ الضّغط، نكتب الأمر:

7z x archive.7z

- x اختصار لـ 'فك ضغط' (extract)

ولمعاينةِ محتوياتِ الأرشيفِ دونَ ضغطٍ، نستبدلُ الحرف السّابق بـ l (اختصار لـ list):

*الصّيغ الاحتكاريّة:

● فيما يخصُّ صيغة rar، لابدَّ أيضاً من تحميل البرنامجِ الخاص بفكِّ ضغط هذه الملفات:

sudo apt-get install unrar

لفكِّ ضغط الملفّات من نوع rar، نكتب الأمر:

unrar e archive.rar

e اختصار لـ extract فكّ ضغط الملفّ في نفس المجلد.

من غير الممكن إنشاءُ ملفٍ من rar على أنظمةِ لينوكس باستعمالِ هذه الأداة، ولكن يمكننا معاينة محتوياتِ الملفِّ دونَ فكِ ضغطه بتنفيذ الأمر:

unrar l archive.rar

تعني l استعراض (list) الملفّات.

لإنشاءِ ملفّات rar على لينوكس، يجب تحميلُ البرنامج rar الخاص بذلك:

sudo apt-get install rar

ولإنشاءِ ملفِّ rar، ننفِّذ الأمر:

rar a archive.rar myFolder/

a تعني إضافة (add) الملفّات.

الّذي سيقومُ بإنشاء ملفٍّ مضغوطٍ بصيغة rar، من محتويات المجلد myFolder

في نهاية هذا المقال، نستعرضُ من خلال الرّسوماتِ البيانيّةِ في الأسفلِ مقارنةً بين مختلف برامج الضّغطِ من ناحية الأداء والسُّرعة.

● مدى توفّر البرامج على أنظمة لينوكس:

gzip، bzip2 > zip > 7z > rar

● مدى توفّر البرامج على أنظمة ويندوز:

zip > rar > 7z > gzip، bzip2

---------------------------------------------------------------

المصادر:

هنا

هنا

هنا