كيفية استخراج الملفات من ملف .tar.bz2 أو .tar.gz على Linux

النقاط الرئيسية

  • ملفات Tar عبارة عن أرشيفات مضغوطة تستخدم في توزيعات Linux، مثل Ubuntu. ويمكن استخراجها باستخدام أمر tar في المحطة الطرفية.
  • تشير الامتدادات .tar.gz و.tar.bz2 إلى أن ملفات tar مضغوطة باستخدام خوارزمية الضغط gzip أو bzip2.
  • يمكن استخراج الملفات من ملف tar باستخدام الأمر tar مع الخيارات -x، -v، و-z (.gz) أو -j (bz2) حسب نوع الضغط. يمكن توجيه الملفات المستخرجة إلى دليل محدد باستخدام الخيار -C.



ملفات Tar عبارة عن أرشيفات مضغوطة. ستصادفها كثيرًا أثناء استخدام توزيعات Linux مثل Ubuntu أو حتى أثناء استخدام المحطة الطرفية على macOS. إليك كيفية استخراج — أو فك — محتويات ملف tar، المعروف أيضًا باسم tarball.


ماذا يعني .tar.gz و .tar.bz2؟

الملفات التي تحتوي على .tar.gz أو أ .tar.bz2 الامتدادات هي ملفات أرشيف مضغوطة. ملف يحتوي فقط على .tar الامتداد غير مضغوط، ولكن هذه ستكون نادرة جدًا.

ال .tar جزء من امتداد الملف يرمز إلى تقرد عالثوم المعمر، وهو السبب وراء تسمية كلا النوعين من الملفات بملفات tar. يعود تاريخ ملفات tar إلى عام 1979 عندما تم إصدار tar تم إنشاء الأمر للسماح لمسؤولي النظام بأرشفة الملفات على الشريط. وبعد مرور أربعين عامًا، ما زلنا نستخدم الأمر tar أمر لاستخراج ملفات tar إلى محركات الأقراص الصلبة لدينا. ربما لا يزال شخص ما في مكان ما يستخدم tar مع الشريط.


ال .gz أو .bz2 تشير اللاحقة الممتدة إلى أن الأرشيف تم ضغطه، باستخدام إما gzip أو bzip2 خوارزمية الضغط. tar سيعمل الأمر بشكل جيد مع كلا النوعين من الملفات، لذا لا يهم طريقة الضغط المستخدمة — ويجب أن تكون متاحة في كل مكان لديك غلاف Bash. ما عليك سوى استخدام طريقة الضغط المناسبة tar خيارات سطر الأوامر.

من الجدير بالذكر أن كل شيء في هذه المقالة يعمل أيضًا على نظام Windows الفرعي لنظام Linux، والذي يسمح لك بتثبيت Bash shell داخل Windows 10 أو Windows 11، على الرغم من وجود طرق أخرى لفتح ملفات tar.gz على Windows أيضًا.

لنفترض أنك قمت بتنزيل ملفين من النوتة الموسيقية. أحدهما يسمى ukulele_songs.tar.gz والآخر يسمى guitar_songs.tar.bz2 .توجد هذه الملفات في دليل التنزيلات.


ملفين tar في دليل التنزيلات

دعونا نستخرج (ويُطلق عليه أحيانًا “untar” بدلاً من Extract) أغاني العود:

tar -xvzf ukulele_songs.tar.gz

عند استخراج الملفات، سيتم إدراجها في نافذة المحطة الطرفية.

استخراج كافة الملفات من ملف tar

خيارات سطر الأوامر التي استخدمناها هي:

  • -x:استخراج واسترجاع الملفات من ملف tar.
  • :مطول، قم بإدراج الملفات أثناء استخراجها.
  • :Gzip، استخدم gzip لفك ضغط ملف tar.
  • :الملف، اسم ملف tar الذي نريده tar للعمل معه. يجب أن يتبع هذا الخيار اسم ملف tar.


قم بإدراج الملفات الموجودة في الدليل باستخدام ls وستجد أنه تم إنشاء دليل يسمى Ukulele Songs. توجد الملفات المستخرجة في هذا الدليل. من أين جاء هذا الدليل؟ كان موجودًا في tar الملف، وتم استخراجه مع الملفات.

تم إنشاء دليل أغاني العود في دليل التنزيلات

الآن دعنا نستخرج أغاني الجيتار. للقيام بذلك، سنستخدم نفس الأمر تقريبًا كما في السابق ولكن مع اختلاف مهم واحد. .bz2 تخبرنا لاحقة الامتداد أنه تم ضغطه باستخدام أمر bzip2. بدلاً من استخدام-z (gzip) الخيار، سوف نستخدم -j (bzip2) خيار لفك ضغط ملف bz2.

tar -xvjf guitar_songs.tar.bz2


استخراج ملف tar لأغاني الجيتار من مجلد التنزيلات

مرة أخرى، يتم إدراج الملفات في المحطة الطرفية أثناء استخراجها. لكي نكون واضحين، خيارات سطر الأوامر التي استخدمناها مع tar من اجل .tar.bz2 الملف كان:

  • -x:استخراج واسترجاع الملفات من ملف tar.
  • :مطول، قم بإدراج الملفات أثناء استخراجها.
  • :Bzip2، استخدم bzip2 لفك ضغط ملف tar.
  • :الملف، اسم ملف tar الذي نريد أن يعمل tar معه.

إذا قمنا بإدراج الملفات في دليل التنزيل، فسنرى أنه تم إنشاء دليل آخر يسمى Guitar Songs.

تم إنشاء دليل أغاني الجيتار في دليل التنزيلات


إذا أردنا استخراج الملفات إلى موقع آخر غير الدليل الحالي، فيمكننا تحديد دليل مستهدف باستخدام -C خيار (الدليل المحدد).

tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/

عند النظر في دليل المستندات/الأغاني، سنرى أنه تم إنشاء دليل أغاني الجيتار.

تم إنشاء دليل أغاني الجيتار في دليل المستندات/الأغاني

لاحظ أن الدليل المستهدف يجب أن يكون موجودًا بالفعل، tar لن يتم إنشائه إذا لم يكن موجودًا. إذا كنت بحاجة إلى إنشاء دليل ولديك tar قم باستخراج الملفات الموجودة فيه كلها بأمر واحد، ويمكنك القيام بذلك على النحو التالي:

mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/


ال -p (الوالدين) الخيار يسبب mkdir لإنشاء أي أدلة رئيسية مطلوبة، مع التأكد من إنشاء الدليل المستهدف.

حتى الآن، قمنا باختبار الأمر وقمنا باستخراج الملفات دون رؤيتها. قد ترغب في إلقاء نظرة قبل أن تقفز. يمكنك مراجعة محتويات tar الملف قبل استخراجه باستخدام -t خيار (القائمة). عادةً ما يكون من الملائم توجيه الإخراج عبر less يأمر.

tar -tf ukulele_songs.tar.gz | less

لاحظ أننا لسنا بحاجة إلى استخدام -z خيار لإدراج الملفات. نحتاج فقط إلى إضافة -z الخيار عندما نقوم باستخراج الملفات من .tar.gz الملف. وبالمثل، لا نحتاج إلى -j خيار لإدراج الملفات في tar.bz2 ملف.

محتويات ملف tar التي تم نقلها عبر أقل


عند التمرير عبر الناتج، يمكننا أن نرى أن كل شيء في ملف tar موجود داخل دليل يسمى Ukulele Songs، وداخل هذا الدليل، توجد ملفات وأدلة أخرى.

نظرة ثانية على محتويات ملف tar الذي تم نقله عبر less

يمكننا أن نرى أن دليل أغاني Ukulele يحتوي على أدلة تسمى Random Songs وRamones وPossibles.

لاستخراج كافة الملفات من دليل داخل ملف tar، استخدم الأمر التالي. لاحظ أن المسار محاط بعلامات اقتباس لأن المسار يحتوي على مسافات.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"


استخراج مجلد واحد من ملف tar

لاستخراج ملف واحد، قم بتوفير المسار واسم الملف.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/023 - My Babe.odt"

استخراج ملف واحد من ملف tar

يمكنك استخراج مجموعة مختارة من الملفات باستخدام أحرف البدل، حيث * يمثل أي سلسلة من الأحرف و ? يمثل أي حرف واحد. يتطلب استخدام الأحرف البدل استخدام --wildcards خيار.

tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*"


استخراج الأغاني من tar باستخدام الأحرف البدل

إذا كنت لا تريد إعادة إنشاء بنية الدليل في ملف tar على القرص الصلب لديك، فاستخدم --strip-components الخيار. --strip-components يتطلب الخيار معلمة عددية. يمثل الرقم عدد مستويات الدلائل التي يجب تجاهلها. لا يزال يتم استخراج الملفات من الدلائل التي تم تجاهلها، ولكن لا يتم تكرار بنية الدليل على القرص الثابت لديك.

إذا حددنا --strip-components=1 في ملف tar الخاص بمثالنا، لا يتم إنشاء الدليل الأعلى لأغاني Ukulele داخل ملف tar على القرص الصلب. يتم استخراج الملفات والدلائل التي كان من المفترض استخراجها إلى هذا الدليل في الدليل المستهدف.

tar -xvzf ukulele_songs.tar.gz --strip-components=1


استخراج الملفات من ملف tar باستخدام --strip-components=1

هناك مستويان فقط من تعشيش الدليل داخل ملف tar الخاص بنا. لذا إذا استخدمنا --strip-components=2سيتم استخراج كافة الملفات في الدليل المستهدف، ولا يتم إنشاء أي أدلة أخرى.

tar -xvzf ukulele_songs.tar.gz --strip-components=2

استخراج الملفات من ملف tar باستخدام --strip-components=2

إذا نظرت إلى لينكس صفحة الرجل سوف ترى ذلك tar يجب أن يكون مرشحًا جيدًا للحصول على لقب “الأمر الذي يحتوي على أكبر عدد من خيارات سطر الأوامر”. لحسن الحظ، يسمح لنا باستخراج الملفات من .tar.gz و tar.bz2 إذا أردنا أن نحافظ على ملفات ذات درجة جيدة من التحكم الدقيق، فلن نحتاج إلا إلى تذكر عدد قليل من هذه الخيارات.


أضف تعليق