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

نشرت: 2022-07-23

رأس تاربال مضغوط Ubuntu

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

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

التحديث ، 7/18/22: لقد راجعنا هذه المقالة للتأكد من دقتها ويمكننا تأكيد أنها لا تزال تعمل على أحدث إصدار من Ubuntu وتوزيعات Linux الأخرى.

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

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

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

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

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

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

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

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

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

قم بتشغيل "tar -czvf" في المجلد المطلوب لتجميع وضغط كافة المحتويات.

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

ذات صلة: كيفية إدارة الملفات من 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

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

تقوم محطة Ubuntu بضغط أدلة متعددة في وقت واحد باستخدام الأمر "tar".

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

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

على سبيل المثال ، لنفترض أنك تريد ضغط / 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 

يمكن ضبط الأمر "tar" لتجاهل بعض الملفات بشكل انتقائي.

استخدم ضغط 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 الاشياء 

تعمل المحطة الطرفية بضغط bzip2 بدلاً من gzip.

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

بمجرد أن يكون لديك أرشيف ، يمكنك استخراجه باستخدام الأمر 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" باستخدام "-xzvf" بدلاً من الوسيطة "-czvf" لاستخراج الملفات من أرشيف tarball.


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

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

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين