كيف تقوم بضغط واستخراج (أرشفة) الملفات من سطر الأومر

الحالة
مغلق و غير مفتوح للمزيد من الردود.

Monner

داعم للمنتدى
داعــــم للمنتـــــدى
إنضم
30 يوليو 2008
المشاركات
761
مستوى التفاعل
3,243
النقاط
1,470
غير متصل
Chico1105.png


b9bktQH.gif



-- ( كيف تقوم بضغط واستخراج (أرشفة) الملفات من سطر الأومر ) --




tar_3.png
tar_2.png
tar_1.png






يستخدم الأمر "tar" غالبًا فى نظام لينكس لإنشاء ملفات الأرشفة ذات الإمتداد tar.gz أو tgz وتدعى ايضًا "tarballs"
هذا الأمر يحتوي على الكثير من خيارات الأستخدام، لكن كل ما تحتاج تذكّر البعض منها لإنشاء ملفات الأرشفة مع الأمر "tar"
وبالطبع الأمر ايضًا قادر على فك ضغط الملفات المؤرشفة.





Chico1106.png





= ( ضغط ملف أو مجلد ) =


tar_1.png



نستخدم الصيغة التالية لضغط مجلد أو ملف
كود:
tar -czvf name-of-archive.tar.gz /path/to/directory-or-file


== ( شرح الأمر ) ==


tar
هذا هو أمر الضغط أو الأرشفة ( الذي نتحدث عن استخدامه بالموضوع )

-
علامة الشرطة (أو علامة الناقص) تُضع غالبًا بعد الأمر، لتُخبر الأمر بالخيارات المراد تنفيذها والتي هي هذة "czvf"

czvf
حرف الـ c يعنى إنشاء أرشيف (Create an archive)
حرف الـ z يعنى أضغط الملف بامتداد الضغط gzip من ( Compress the archive with gzip)
حرف الـ v لعرض تقدم عملية الضغط والأرشفة على الطرفية (verbose)
حرف الـ f يمكّنك من أختيار اسم لملف الإرشيف الناتج ( filename of the archive)


name-of-archive.tar.gz
هذا هو اسم ملف الأرشيف الناتج، وتستطيع استبداله بالاسم الذي ترغب به

path/to/directory-or-file/
هذا هو الموقع او المسار المتواجد فيه الملف أو الملجد المراد ضغطة
ونستبدلهُ حسب مكان أو مسار الملف الموجود بالجهار



= ( توضيح أخر للأمر ) =

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

التي باللون الأحمر ثابتة
التي باللون الأزرق متغيرات




Chico1106.png




= ( مثال للتوضيح ) =


tar_4.png



الآن لنطبق الأمر على ملفٍ ما لنرى النتيجة

الآن لدي مجلد باسم "ISO" بمجلد المنزل (Home) وأريد ضغط هذا الملف أو أرشفتة باسم ''Mint"
أُنفذ الأمر التالي:
كود:
tar -czvf Mint.tar.gz ISO


ملاحظة: أمر "ls" الذي بالصورة استخدمته لمجرد الشرح والتوضيح فقط وليس لهُ علاقة بضغط الملف
وهو أمر لعرض محتويات مجلدٍ ما على الطرفية (سطر الأوامر)

tar_5.png



لاحظ أولاً استخدمة الأمر ls لعرض محتويات مجلد المنزل، ولا يوجد به الملف المضغوط "Mint.tar.gz" بعد
ثم طبقة أمر الضغط "tar -czvf Mint.tar.gz ISO"
ثم بدأت عملية الضغط وتتم عرضها على شاشة الطرفية وايضًا عرض محتويات المجلد الذي يتم ضغطة كما ترى
ثم بعد إنتهاء الأمر من عملية الضغط، قمت بعرض محتويات مجلد المنزل مرة أخري بالأمر ls لأرى النتيجة!
وبالفعل تم إنشاء الملف المضغوط "Mint.tar.gz" كما هو واضح باللون الأحمر




1.png




حسنًا، هذا بالنسبة لمجلد موجود على نفس المسار (في مجلد المنزل)

طيب لو عندي صورة (أو عدة صورة) باسم "monner" فى داخل مجلد الصور Pictures
وأريد تطبيق الأمر عليها، هل ينجح الأمر؟
لنرى النتيجة!


tar_6.png



كما تلاحظ بالصورة لم ينجح الأمر،لماذا؟
لأن الملف "monner.png" الذي هو الصورة ليس موجود على نفس المسار أو المكان الذي نُفذ به الأمر و الذي هو مجلد المنزل (Home)
إنما هو موجود على مسار أخر، والذي هو مجلد الصور (Pictures)

ملاحظة : عليك أن تعرف عندما يتم فتح الطرفية (سطر الأوامر) دائمًا وتلقائيًا يكون مكان العمل أو المسار الذي تعمل علية أو تُنفذ به الأوامر هو المجلد المنزل (بمعنى الطرفية تفتح افتراضيًا على مجلد المنزل Home )

إذًا، لإنجاح الأمر أقوم بإخبار الطرفية أو الأمر "tar" بالمسار الذي توجد به الصورة، بالأمر التالي:

كود:
tar -czvf Mint.tar.gz /home/monner/Pictures/monner.png

tar_7.png



هل رأيت! لقد نجح الأمر



1.png



حسنًا، هل من الممكن إنجاح الأمر قبل السابق، الذي فشلت به عملية الضغط؟
نعم، هذا ممكن
كيف ذلك؟

بالإنتقال أو نقل العمل وتنفيذ الأوامر من مسار المجلد المنزل (Home) إلى مسار ملجد الصور (Pictures) وتنفيذ الأمر هناك، شاهد



tar_8.png



أولاً، قمت باستعراض محتويات مجلد المنزل (Home) بالأمر ls ثم انتقلت من مسار مجلد المنزل (Home) إلى ملجد الصور (Pictures) بالأمر cd وبالتالي نقلت العمل و عملية الضغط إلى هناك وأصحبت على نفس المسار المتواجد به الملف أو الصورة "monner.png"
ثم قمت باستعراض محتويات مجلد الصور (Pictures) بالأمر ls وكما تلاحظ موجود فيه الصورة "monner.png" (التي تظهر باللون الأخضر على الطرفية)

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





1.png




هل نستطيع من ضغط أو أرشفة ملفات عدة متواجدة بمسارات مختلفة؟
نعم، هذا ممكن

الآن لدي ملف المذكرة "'sha256sum.txt" الموجود بمجلد ISO
وملف الصورة "monner.png" الموجود بمجلد الصور (Pictures)
ومجلد Music الموجود في مجلد المنزل (Home)

ونريد ضغط هذة الملفات الثلاث معًا في أرشيف باسم "Tux"
نفعل ذلك بالأمر التالي:


كود:
tar -czvf Tux.tar.gz Music /home/monner/ISO/sha256sum.txt /home/monner/Pictures/monner.png

tar_9.png



كما تلاحظ، نجح الأمر وتم إنشاء الملف المضغوط "Tux.tar.gz" كما هو واضح باللون الأحمر
كل ما فعلنا هو كتابة أمر الضغط وتحديد مسار كل ملف




Chico1106.png





= ( استخدام امتداد الضغط bzip2 ) =


bz2.png




بينما امتداد ضغط gzip هي الأكثر استخدامًا في ضغط و أرشفة الملفات
الأمر tar ايضًا يدعم إنشاء الملفات المضغوطة بامتداد الضغط bzip2
لفعل ذلك عليك فقط استبدال حرف z في الخيارات التي بعد الشرطة هذة "czvf" بحرف j هكذا "cjvf"

شاهد الأمر التالي:
كود:
tar -cjvf Movies.tar.bz2 Videos


tar_10.png



كما تلاحظ تم ضغط مجلد الفيديو (Videos) بامتداد tar.bz2 باسم "Movies" كما هو واضح باللون الأحمر



Chico1106.png





= ( استخراج الملفات من الملف المضغوط ) =


tar_3.png



لفك ضغط الملفات أو استخراج الملفات
بكل بساطة أُكتب الأمر tar ثم استبدل حرف الـ c من هذة الخيارات "czvf" الذي يعني إنشاء أرشيف (Create an archive) بحرف الـ x الذي يمثل استخراج الملفات (extract an archive)



tar_11.png





1.png




حسنًا، ماذا لو نريد استخراج الملفات إلى مجلد محدد
نستخدم الخيار C -

مثلاً، أُريد استخراج ملفات الملف المضغوط Tux.tar.gz إلى ملجد Public
أُنفذ الأمر التالي:

كود:
tar -xzvf Tux.tar.gz -C Public


tar_12.png



شرح ما حدث بالصورة أعلاه

قمت باستعراض مجللد المنزل بالأمر ls
ثم دخلت إلى مجلد Public بالأمر cd
ثم استعرضت محتويات مجلد public بالأمر ls ولم تُعرض أي نتيجة! هذا يعني أن المجلد فارغ ليس به ملفات
ثم قمب بالرجوع للخلف لمجلد المنزل بالأمر cd
ثم قمت بفك ضغط الملف Tux.tar.gz بداخل مجلد Public
ثم بعد ذلك قمت باستخدام الأمر cd و ls مرات عدة لأُبين لك أنهُ تم استخراج الملفات إلى مجلد Public




1.png




كان هذا بعض من استخدامات الأمر tar
و كما قلنا سابقًا الأمر لهُ استخدامات كثيرة جداً تستطيع الأطلاع عليها من سطر الأوامر، بالأمر
كود:
info tar
أو الأمر
كود:
man tar



Chico1106.png




كانت هذة ترجمة مع بعض الإيضاح و الشرح لمقالة

How to Compress and Extract Files Using the tar Command on Linux

تستطيع الأطلاع على الموضوع لمزيد من الملعلومات



018.gif




 

التعديل الأخير بواسطة المشرف:
بارك الله فيك وفي علمك يا أستاذ

بهذه الشروحات تبسط سطر اﻷوامر للجميع وتزيل الرهبة أو الخوف من الخطأ أو الضياع
كل الود والتقدير لك
 
توقيع : PrinceOfPersia
بــارك الله فيـــك
 
توقيع : tdhq98
كل التحيه والتقدير لك أخي طابت يداك
بارك الله فيكم أخي منير واصل إبداعك
كذلك نود منك أن تتطرق لأمر النقل
نقل ملف إلى مجلد آخر
بارك الله فيك وفي علمك يا أستاذ
بهذه الشروحات تبسط سطر اﻷوامر للجميع وتزيل الرهبة أو الخوف من الخطأ أو الضياع
كل الود والتقدير لك
بــارك الله فيـــك
ماشاء الله عليك أخي الحبيب طرح مميز

جزاكم الله خير أخواني الأعزاء على تعليقاتكم وكلامكم الطيب ^_^
اتمنى لكم دوام التوفيق والسعادة فى الدارين

=====
أبو عائشة، راجع الموضوع التالي
كيف تتعامل مع الملفات من خلال الطرفية: (11) أمر يجب أن تتعلمة
 
بارك الله فيك
 
السلام عليكم ورحمة الله وبركاته
بارك الله فيك اخى على الشرح المميز
كنت ابحث عن هذا الدرس
استمر يا بطل
تحياتى
 
توقيع : فارس الاسلام 04
بارك الله فيك
شكراً لك على الطرح الرائع
 
توقيع : أسيرالشوق
جزاكم الله كل خير أخي الكريم
أنا أـستخدم نظام ويندوز
لكن الموضوع فيه فائدة
فشكراً لمجهودكم..
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى