كيفية ضغط واستخراج الملفات باستخدام الأمر tar على نظام Linux

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

الأمر GNU tar المضمن في توزيعات Linux يحتوي على ضغط متكامل. يمكنه إنشاء أرشيف .tar ثم ضغطه بضغط gzip أو bzip2 في أمر واحد. هذا هو السبب في أن الملف الناتج هو ملف .tar.gz أو ملف .tar.bz2.

ضغط دليل كامل أو ملف واحد

استخدم الأمر التالي لضغط دليل كامل أو ملف واحد على Linux. سيقوم أيضًا بضغط كل دليل آخر داخل الدليل الذي تحدده - بمعنى آخر ، يعمل بشكل متكرر.

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

إليك ما تعنيه هذه المفاتيح في الواقع:

  • -c: C reate أرشيف.
  • -z: لضغط الأرشيف باستخدام g z ip.
  • -v: عرض التقدم في الجهاز أثناء إنشاء الأرشيف ، المعروف أيضًا باسم وضع " v erbose". دائمًا ما يكون حرف v اختياريًا في هذه الأوامر ، ولكنه مفيد.
  • -f: يسمح لك بتحديد و ilename من الأرشيف.

لنفترض أن لديك دليلًا باسم "stuff" في الدليل الحالي وتريد حفظه في ملف باسم archive.tar.gz. ستقوم بتشغيل الأمر التالي:

tar -czvf archive.tar.gz الأشياء

أو ، لنفترض أن هناك دليلًا على / usr / local / شيء ما على النظام الحالي وتريد ضغطه إلى ملف باسم archive.tar.gz. ستقوم بتشغيل الأمر التالي:

tar -czvf archive.tar.gz / usr / local / شيء

ضغط أدلة أو ملفات متعددة مرة واحدة

ذات صلة: كيفية إدارة الملفات من Linux Terminal: 11 أمرًا تحتاج إلى معرفتها

بينما يتم استخدام tar بشكل متكرر لضغط دليل واحد ، يمكنك أيضًا استخدامه لضغط أدلة متعددة أو ملفات فردية متعددة أو كليهما. ما عليك سوى تقديم قائمة بالملفات أو الدلائل بدلاً من قائمة واحدة. على سبيل المثال ، لنفترض أنك تريد ضغط دليل / home / ubuntu / Downloads ، ودليل / usr / local / stuff ، وملف /home/ubuntu/Documents/notes.txt. كنت تقوم فقط بتشغيل الأمر التالي:

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

ما عليك سوى سرد العديد من الدلائل أو الملفات التي تريد نسخها احتياطيًا.

استبعاد الدلائل والملفات

في بعض الحالات ، قد ترغب في ضغط دليل بأكمله ، ولكن لا تقم بتضمين ملفات وأدلة معينة. يمكنك القيام بذلك عن طريق إلحاق --excludeمفتاح تبديل لكل دليل أو ملف تريد استبعاده.

على سبيل المثال ، لنفترض أنك تريد ضغط / home / ubuntu ، لكنك لا تريد ضغط الدلائل / home / ubuntu / Downloads و /home/ubuntu/.cache. إليك كيف تفعل ذلك:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

و --excludeالمفتاح هو قوي جدا. لا يأخذ أسماء الدلائل والملفات - في الواقع يقبل الأنماط. هناك الكثير الذي يمكنك فعله به. على سبيل المثال ، يمكنك أرشفة دليل كامل واستبعاد جميع ملفات .mp4 باستخدام الأمر التالي:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

استخدم ضغط bzip2 بدلاً من ذلك

بينما يتم استخدام ضغط gzip بشكل متكرر لإنشاء ملفات .tar.gz أو .tgz ، يدعم tar أيضًا ضغط bzip2. يتيح لك ذلك إنشاء ملفات مضغوطة باستخدام bzip2 ، والتي غالبًا ما تُسمى ملفات .tar.bz2 أو .tar.bz أو .tbz. للقيام بذلك ، فقط استبدل -z لـ gzip في الأوامر هنا بـ a -j لـ bzip2.

يعد Gzip أسرع ، لكنه بشكل عام يتم ضغطه بشكل أقل قليلاً ، لذلك تحصل على ملف أكبر إلى حد ما. يكون Bzip2 أبطأ ، لكنه ينضغط أكثر قليلاً ، بحيث تحصل على ملف أصغر نوعًا ما. Gzip هو أيضًا أكثر شيوعًا ، مع بعض أنظمة Linux التي تم تجريدها بما في ذلك دعم gzip افتراضيًا ، ولكن ليس دعم bzip2. بشكل عام ، على الرغم من ذلك ، فإن gzip و bzip2 هما نفس الشيء تقريبًا وسيعمل كلاهما بشكل مشابه.

على سبيل المثال ، بدلاً من المثال الأول الذي قدمناه لضغط دليل الأشياء ، يمكنك تشغيل الأمر التالي:

tar -cjvf archive.tar.bz2 الاشياء

استخراج أرشيف

بمجرد أن يكون لديك أرشيف ، يمكنك استخراجه باستخدام الأمر tar. سيقوم الأمر التالي باستخراج محتويات archive.tar.gz إلى الدليل الحالي.

tar -xzvf archive.tar.gz

إنه مماثل لأمر إنشاء الأرشيف الذي استخدمناه أعلاه ، باستثناء أن -xالمفتاح يحل محل -cالمفتاح. هذا يحدد تريد أن ه س المسالك أرشيف بدلا من إنشاء واحد.

قد ترغب في استخراج محتويات الأرشيف إلى دليل محدد. يمكنك القيام بذلك عن طريق إلحاق -Cالمفتاح بنهاية الأمر. على سبيل المثال ، سيستخرج الأمر التالي محتويات ملف archive.tar.gz إلى الدليل / tmp.

tar -xzvf archive.tar.gz -C / tmp

إذا كان الملف عبارة عن ملف مضغوط بتنسيق bzip2 ، فاستبدل حرف "z" في الأوامر أعلاه بحرف "j".

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

إذا كنت تستخدم سطح مكتب Linux رسوميًا ، فيمكنك أيضًا استخدام الأداة المساعدة لضغط الملفات أو مدير الملفات المضمن مع سطح المكتب لإنشاء ملفات .tar أو استخراجها. في نظام التشغيل Windows ، يمكنك استخراج أرشيفات بتنسيق .tar وإنشاؤها باستخدام أداة 7-Zip المجانية.