النقاط الرئيسية
- ملفات 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
.توجد هذه الملفات في دليل التنزيلات.
دعونا نستخرج (ويُطلق عليه أحيانًا “untar” بدلاً من Extract) أغاني العود:
tar -xvzf ukulele_songs.tar.gz
عند استخراج الملفات، سيتم إدراجها في نافذة المحطة الطرفية.
خيارات سطر الأوامر التي استخدمناها هي:
- -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.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 موجود داخل دليل يسمى Ukulele Songs، وداخل هذا الدليل، توجد ملفات وأدلة أخرى.
يمكننا أن نرى أن دليل أغاني Ukulele يحتوي على أدلة تسمى Random Songs وRamones وPossibles.
لاستخراج كافة الملفات من دليل داخل ملف tar، استخدم الأمر التالي. لاحظ أن المسار محاط بعلامات اقتباس لأن المسار يحتوي على مسافات.
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"
لاستخراج ملف واحد، قم بتوفير المسار واسم الملف.
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/023 - My Babe.odt"
يمكنك استخراج مجموعة مختارة من الملفات باستخدام أحرف البدل، حيث *
يمثل أي سلسلة من الأحرف و ?
يمثل أي حرف واحد. يتطلب استخدام الأحرف البدل استخدام --wildcards
خيار.
tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*"
إذا كنت لا تريد إعادة إنشاء بنية الدليل في ملف tar على القرص الصلب لديك، فاستخدم --strip-components
الخيار. --strip-components
يتطلب الخيار معلمة عددية. يمثل الرقم عدد مستويات الدلائل التي يجب تجاهلها. لا يزال يتم استخراج الملفات من الدلائل التي تم تجاهلها، ولكن لا يتم تكرار بنية الدليل على القرص الثابت لديك.
إذا حددنا --strip-components=1
في ملف tar الخاص بمثالنا، لا يتم إنشاء الدليل الأعلى لأغاني Ukulele داخل ملف tar على القرص الصلب. يتم استخراج الملفات والدلائل التي كان من المفترض استخراجها إلى هذا الدليل في الدليل المستهدف.
tar -xvzf ukulele_songs.tar.gz --strip-components=1
هناك مستويان فقط من تعشيش الدليل داخل ملف tar الخاص بنا. لذا إذا استخدمنا --strip-components=2
سيتم استخراج كافة الملفات في الدليل المستهدف، ولا يتم إنشاء أي أدلة أخرى.
tar -xvzf ukulele_songs.tar.gz --strip-components=2
إذا نظرت إلى لينكس صفحة الرجل سوف ترى ذلك tar
يجب أن يكون مرشحًا جيدًا للحصول على لقب “الأمر الذي يحتوي على أكبر عدد من خيارات سطر الأوامر”. لحسن الحظ، يسمح لنا باستخراج الملفات من .tar.gz
و tar.bz2
إذا أردنا أن نحافظ على ملفات ذات درجة جيدة من التحكم الدقيق، فلن نحتاج إلا إلى تذكر عدد قليل من هذه الخيارات.