7 طرق لضغط الملفات وفك ضغطها في Linux

دائمًا ما نريد المزيد وأسرع شيئًا ، خاصة عندما يتعلق الأمر بالبيانات. تكمن المشكلة في أن "أكثر" و "أسرع" عادة ما يكونان على طرفي نقيض ، لذلك لدينا ضغط ملف(file compression) . هناك عدة طرق لضغط الملفات وفك ضغطها في Linux ، وسنعرض لك الطرق التي تقف وراءها.

Zip and Unzip باستخدام Zip في Linux(Zip and Unzip Using Zip in Linux)

يحتوي Linux(Linux) على العديد من أدوات الضغط المضمنة في كل توزيع تقريبًا ، والمعروف باسم توزيعات Linux(Linux distros) . من المحتمل أن يكون الرمز البريدي(Zip) هو الأكثر شيوعًا. يمكن استخدام الأداة المساعدة Zip في واجهة المستخدم الرسومية ( GUI ) أو الجهاز الطرفي.

Zip في Linux GUI(Zip in the Linux GUI)

  1. انتقل إلى الملفات(Navigate to the files) المراد ضغطها وحددها. ثم انقر بزر الماوس الأيمن وحدد ضغط(Compress) .

  1. أدخل اسمًا للأرشيف المضغوط . (zipped)لاحظ أنه يمكنك أيضًا اختيار نوعين آخرين من الضغط. قد يختلف هذا بين التوزيعات.

  1. سترى قريبًا أرشيفك المضغوط. لاحظ أن حجم الأرشيف أقل بكثير من الحجم الإجمالي للملفات الموضوعة فيه.

قم بفك الضغط في Linux GUI(Unzip in the Linux GUI)

  1. ابحث عن الأرشيف المضغوط لفك ضغطه وانقر عليه بزر الماوس الأيمن. حدد استخراج هنا(Extract Here) أو استخراج إلى…(Extract to…) . يضع Extra Here المحتويات في هذا الدليل. (Extra)يتيح لك استخراج(Extract) إلى ... تحديد مكان آخر لوضع المحتويات.

يتم استخراج الملفات. لاحظ(Notice) أنهم عادوا إلى حجمهم الكامل البالغ 100 ميغا بايت لكل منهم.

مدير الأرشيف لفك الضغط في Linux GUI(Archive Manager to Unzip in the Linux GUI)

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

  1. انقر بزر الماوس الأيمن فوق(Right-click) الأرشيف وحدد فتح باستخدام مدير الأرشيف(Open With Archive Manager) .

  1. قم بتمييز(Highlight) الملفات المراد استخراجها بالنقر عليها مرة واحدة. يمكنك تحديد واحد ، أو عدد قليل ، أو كلها. ثم حدد استخراج(Extract ) في الزاوية العلوية اليسرى.

  1. في هذه المرحلة ، يمكنك اختيار مكان استخراج الملفات باستخدام مدير الملفات. ثم حدد استخراج(Extract) في الزاوية العلوية اليمنى.

  1. عند الانتهاء من الاستخراج ، يمكنك إما الاستمرار أو إظهار الملفات(Show the Files) .

عاد الملف بحجمه الكامل. يتم ترك نسخة داخل الأرشيف.

ملفات مضغوطة في Linux Terminal(Zip Files in Linux Terminal)

افتح الجهاز وانتقل إلى الدليل حيث توجد الملفات المراد ضغطها. أدخل الأمر zip ziptest.zip *

(Zip )يخبر Zip Linux باستخدام الأداة المساعدة zip ، ويخبرها ziptest.zip(ziptest.zip) بالاسم المطلوب للأرشيف ، والعلامة asterisk (*) هي حرف بدل يعني ضغط جميع الملفات الموجودة في هذا الدليل. 

يقوم بضغط الملفات ، وسردها ، ويوضح مقدار ما قام بتفريغها أو ضغطها.

يمكن استخدام العديد من الإجراءات مع الأمر zip. لعرضها ، أدخل zip –help ، وسترى شيئًا مثل الصورة التالية.

قم بفك ضغط الملفات في Linux Terminal(Unzip Files in Linux Terminal)

في Terminal ، استخدم الأمر unzip ziptest.zip ، حيث يمثل unzip الأمر و ziptest.zip هو اسم الأرشيف المطلوب فك ضغطه.

سيعرض الملفات التي تم فك ضغطها ، حتى تعرف متى يتم ذلك.

مثل الأمر zip ، يمكن استخدام العديد من الإجراءات مع الأمر unzip. لمشاهدتها ، أدخل unzip –help ، وسترى شيئًا مثل الصورة التالية.

Bzip2 لضغط الملفات وفك ضغطها في Linux(Bzip2 for Zipping and Unzipping Files in Linux)

Bzip2 هي أداة ضغط أخرى مدمجة في معظم توزيعات Linux . الاختلاف الرئيسي هو أن bzip2 لا يمكنه ضغط ملفات متعددة في أرشيف واحد. يحصل كل ملف على أرشيف مضغوط خاص به.

ملفات مضغوطة في Linux Terminal مع Bzip2(Zip Files in Linux Terminal With Bzip2)

أدخل الأمر bzip2 -kv9 testfile1.txt testfile2.txt حيث يكون bzip2 هو الأمر.

(-kv9 )ينهار -kv9 إلى k يعني k eep الأصول ، و v تعني v erbose حتى نتمكن من رؤية ما يحدث ، و 9 لأعلى مستوى من الضغط. يمكنك الاختيار بين 1 و 9. كلما ارتفع مستوى الضغط ، كلما استغرق ضغط الملفات وقتًا أطول.

يخبرنا الإخراج بما هو أكثر من الرمز البريدي ، لكن النتيجة النهائية هي نفسها تقريبًا.

قم بفك ضغط الملفات في Linux Terminal باستخدام Bzip2(Unzip Files In Linux Terminal With Bzip2)

أدخل الأمر bzip2 -kvd testfile.1.txt.bz2 testfile2.txt.bz2 . تتفكك(-kvd ) خيارات -kvd كـ k(k ) لـ k eep المحفوظات ، v للإخراج v erbose ، و d لـ d ecompress.

ترى الملفات يتم فك ضغطها ومعروفة عند الانتهاء.

لعرض خيارات bzip2 ، أدخل تعليمات bzip2 ،(bzip2 –help, ) وسترى ما يلي. تلاعب بالخيارات الموجودة على الملفات غير الهامة فقط لترى ما يمكنهم فعله.

Gzip لضغط الملفات وفك ضغطها في Linux(Gzip for Zipping and Unzipping Files in Linux)

هذا هو آخر أدوات الضغط الشائعة المضمنة في معظم التوزيعات. إنه أخف من bzip2 و zip للخيارات. ومع ذلك ، فإن جودة الضغط لا تزال متشابهة.

ملفات مضغوطة في Linux Terminal مع Gzip(Zip Files in Linux Terminal With Gzip)

أدخل الأمر gzip2 -kv9 testfile.1.txt testfile2.txt . تتفكك(-kv9 ) خيارات -kv9 كـ k(k ) لـ k eep للملفات ، و v لإخراج (v)v erbose ، و 9 لأعلى مستوى ضغط بين 1 و 9.

كما يظهر الإخراج المطول ، يعمل gzip بالإضافة إلى طرق الضغط الأخرى.

قم بفك ضغط الملفات في Linux Terminal باستخدام Gzip(Unzip Files in Linux Terminal With Gzip)

هناك طريقتان لفك ضغط أرشيفات gzip. أحدهما هو استخدام gzip ، والآخر هو gunzip.

بالنسبة للأمر gzip ، استخدم gzip -kvd testfile1.txt.gz testfile2.txt.gz . لاحظ الخيار د(d) . هذا يعني أن d ecompress.

لأمر gunzip ، استخدم gunzip testfile1.txt.gz testfile.2.txt.gz . الاختلاف الوحيد عن gzip هو أن gunzip لا تتطلب خيارات لإزالة الضغط الأساسية.

ماذا عن Tar to Zip and Unzip Files في Linux؟(What About Tar to Zip and Unzip Files in Linux?)

لماذا لم يذكر القطران(tar) بعد؟ إنها أداة أرشفة ، تأخذ مجموعة من الملفات وتضعها في أرشيف واحد لسهولة النقل. مهما كانت أحجام الملف ، سيكون حجم ملف tar متماثلًا تقريبًا. 

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

باستخدام طرق zip الأخرى في دليل الملفات ، ستحصل على أرشيف مضغوط لكل ملف في الدليل. يؤدي استخدام tar مع خيار gzip في الدليل إلى ضغط كل شيء وإنشاء أرشيف واحد.

ملفات مضغوطة في Linux Terminal مع Tar و Gzip(Zip Files in Linux Terminal With Tar and Gzip)

أدخل الأمر tar -czvf Documents.tgz Documents

تتفكك(-czvf ) خيارات -czvf كـ c لـ(c ) c لإنشاء(c) أرشيف جديد ، و z للضغط باستخدام g z ip ، و v لإخراج (v)v erbose ، و f لـ f ile يساوي الأرشيف ، مما يعني أن الأرشيف يحافظ على بنية الملف للدليل الأصلي. 

يجب تسمية الأرشيف الجديد ، وهو Documents.tgz في هذا المثال. باستخدام امتداد الملف .tgz ، سيعرف الآخرون أن هذا أرشيف tar تم ضغطه بتنسيق gzip. أخيرًا ، المستندات(Documents) هي دليل الأرشفة والضغط.

الإخراج يبدو كما يلي.

في مدير الملفات(File Manager) ، يمكنك رؤية أرشيف tar وأنه مضغوط.

قم بفك ضغط الملفات في Linux Terminal باستخدام Tar و Gzip(Unzip Files in Linux Terminal With Tar and Gzip)

لفك ضغط أرشيف tar بتنسيق gzip ، يكون الأمر tar نفسه بخيارات مختلفة قليلاً. 

أدخل الأمر tar -xzvf Documents.tgz Documents

تتفكك خيارات -xzvf(-xzvf) كـ x لـ e x tract ، و z لفك الضغط باستخدام g z ip ، و v(, v) للإسهاب حتى نتمكن من مشاهدته يحدث ، و f للملف = أرشيف يعني الاحتفاظ ببنية الملف. Documents.tgz هو الأرشيف الذي سيتم فك ضغطه وفك ضغطه ، والمستندات(Documents ) هي الدليل الذي تريد نقل المحتويات إليه.

النتائج معروضة في الصورة أدناه. عاد الملفان إلى الحجم الكامل ، وهما موجودان في دليل المستندات(Documents) .

لعرض خيارات tar ، أدخل tar –help ، وستحصل على عدة صفحات من الخيارات. لاحظ(Notice) أن هناك طرق مضغوطة مختلفة متاحة بخلاف gzip ، لذا يمكنك اختيار الطريقة التي تريدها.

أدوات Zip الأقل شيوعًا في Linux(Less Popular Zip Tools in Linux)

هناك نوعان من أدوات الضغط الإضافية الموجودة في معظم توزيعات Linux . ومع ذلك ، فهي ليست بهذه الشعبية. ومع ذلك ، فهي مدرجة هنا ، لذا فأنت على علم بها.

LZMA

LZMA هي أداة مساعدة أخرى لضغط سطر الأوامر توجد غالبًا في توزيعات Linux . إنها خوارزمية الضغط المستخدمة بواسطة 7-Zip.

XZ

الأداة المساعدة XZ هي أداة ضغط سطر أوامر غالبًا ما يتم تضمينها في توزيعات Linux . خياراته مشابهة لخيارات bzip2. يعتمد على خوارزمية LZMA2 ، والتي تعتمد على LZMA .

يمكن العثور على مزيد من المعلومات حول هذه الأدوات المساعدة باستخدام الأمرين lzma –help و xz –help .

ألا توجد طرق أخرى للضغط وفك الضغط في Linux؟(Aren’t There Other Ways To Zip and Unzip in Linux?)

لقد دخلنا فقط في أدوات الضغط المضمنة في معظم توزيعات Linux . لا يزال ، لدى Linux عدة طرق أخرى لضغط الملفات وفك ضغطها. يحتوي بعضها على واجهات رسومية(GUIs) ، وبعضها أدوات مساعدة لسطر الأوامر ، ويمكن استخدام البعض الآخر مع واجهة المستخدم الرسومية وعبر سطر الأوامر. هل تستخدم إحدى أدوات zip هذه في Linux ؟ اي واحد(Which one) هو المفضل لديك ولماذا؟ اسمحوا لنا أن نعرف في التعليقات.



About the author

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



Related posts