كيفية استخراج الملفات من ملف .tar.gz أو .tar.bz2 على نظام Linux
ملفات Tar هي أرشيفات مضغوطة. ستواجههم كثيرًا أثناء استخدام توزيعة Linux مثل Ubuntu أو حتى أثناء استخدام الجهاز على macOS. إليك كيفية استخراج محتويات ملف tar ، أو untar ، والمعروف أيضًا باسم tarball.
ماذا يعني .tar.gz و .tar.bz2؟
الملفات التي لها امتداد .tar.gz
أو .tar.bz2
امتداد هي ملفات أرشيف مضغوطة. الملف ذو .tar
الامتداد فقط غير مضغوط ، لكن هذا سيكون نادرًا جدًا.
و .tar
جزء من ملف التمديد لتقف على ر قرد ع الثوم المعمر، وهو السبب في أن كلا من أنواع الملفات هذه تسمى ملفات القطران. يعود تاريخ ملفات Tar إلى عام 1979 عندما tar
تم إنشاء الأمر للسماح لمسؤولي النظام بأرشفة الملفات على شريط. بعد أربعين عامًا ، ما زلنا نستخدم tar
الأمر لاستخراج ملفات tar على محركات الأقراص الثابتة الخاصة بنا. ربما لا يزال شخص ما في مكان ما يستخدم tar
الشريط اللاصق.
و .gz
أو .bz2
تشير لاحقة التمديد الأرشيف تم ضغطها، وذلك باستخدام إما gzip
أو bzip2
خوارزمية ضغط. و tar
سوف تعمل القيادة بسعادة مع كلا النوعين من الملفات، لذلك لا يهم أي وسيلة ضغط استخدمت ويجب أن يتوفر في كل مكان لديك باش قذيفة. تحتاج فقط إلى استخدام tar
خيارات سطر الأوامر المناسبة .
استخراج الملفات من ملفات Tar
لنفترض أنك قمت بتنزيل ملفين من ورقة الموسيقى. يسمى ملف واحد ukulele_songs.tar.gz
، ويسمى الآخر guitar_songs.tar.bz2
. هذه الملفات موجودة في دليل التنزيلات.
لنستخرج أغاني القيثارة:
القطران -xvzf القيثارة_القناة
عند استخراج الملفات ، يتم إدراجها في نافذة المحطة الطرفية.
خيارات سطر الأوامر التي استخدمناها هي:
- -x : استخراج واسترداد الملفات من ملف tar.
- -v : مطول ، قم بسرد الملفات أثناء استخراجها.
- -z : Gzip ، استخدم gzip لفك ضغط ملف tar.
- -f : ملف ، اسم ملف tar الذي نريد
tar
العمل معه. يجب أن يتبع هذا الخيار اسم ملف tar.
قم بإدراج الملفات في الدليل مع ls
وسترى أنه تم إنشاء دليل يسمى Ukulele Songs. الملفات المستخرجة موجودة في هذا الدليل. من أين جاء هذا الدليل؟ كان موجودًا في tar
الملف ، وتم استخراجه مع الملفات.
الآن دعنا نستخرج أغاني الجيتار. للقيام بذلك ، سنستخدم نفس الأمر تمامًا كما كان من قبل ولكن مع اختلاف واحد مهم. ل .bz2
احقة تمديد يخبرنا تم ضغطها باستخدام الأمر BZIP2. بدلاً من استخدام -z
خيار (gzip) ، سنستخدم -j
خيار (bzip2).
tar -xvjf guitar_songs.tar.bz2
مرة أخرى ، يتم سرد الملفات في المحطة بمجرد استخراجها. أن تكون واضحة، وخيارات سطر الأوامر كنا مع tar
ل .tar.bz2
كانت ملف:
- -x : استخراج واسترداد الملفات من ملف tar.
- -v : مطول ، قم بسرد الملفات أثناء استخراجها.
- -j : Bzip2 ، استخدم bzip2 لفك ضغط ملف tar.
- -f : ملف ، اسم ملف tar الذي نريد أن نتعامل معه مع tar.
إذا قمنا بإدراج الملفات في دليل التنزيل ، فسنرى أنه تم إنشاء دليل آخر يسمى Guitar Songs.
اختيار مكان استخراج الملفات
إذا أردنا استخراج الملفات إلى موقع آخر غير الدليل الحالي ، فيمكننا تحديد دليل هدف باستخدام خيار -C
(الدليل المحدد).
tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs /
عند البحث في دليل المستندات / الأغاني ، سنرى تم إنشاء دليل أغاني الجيتار.
لاحظ أن الدليل الهدف يجب أن يكون موجودًا بالفعل ، tar
ولن يتم إنشاؤه إذا لم يكن موجودًا. إذا كنت بحاجة إلى إنشاء دليل tar
واستخراج الملفات فيه كلها بأمر واحد ، فيمكنك القيام بذلك على النحو التالي:
mkdir -p ~ / المستندات / الأغاني / تم التنزيل && tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs / Downloaded /
و -p
يسبب الخيار (الآباء والأمهات) mkdir
لإنشاء أي الدلائل الأصل المطلوبة، وضمان إنشاء الدليل الهدف.
النظر داخل ملفات القطران قبل استخراجها
حتى الآن اتخذنا قفزة من الثقة واستخرجنا الملفات غير المرئية. قد ترغب في النظر قبل أن تقفز. يمكنك مراجعة محتويات tar
الملف قبل استخراجه باستخدام -t
خيار (list). عادة ما يكون من المناسب توجيه الإخراج من خلال less
الأمر.
tar -tf ukulele_songs.tar.gz | أقل
لاحظ أننا لسنا بحاجة إلى استخدام -z
خيار قائمة الملفات. نحتاج فقط إلى إضافة -z
الخيار عندما نستخرج الملفات من .tar.gz
ملف. وبالمثل ، لا نحتاج إلى -j
خيار سرد الملفات في tar.bz2
ملف.
بالتمرير خلال الإخراج ، يمكننا أن نرى أن كل شيء في ملف tar محفوظ داخل دليل يسمى Ukulele Songs ، وفي هذا الدليل ، توجد ملفات وأدلة أخرى.
يمكننا أن نرى أن دليل أغاني القيثارة يحتوي على أدلة تسمى Random Songs و Ramones و Possibles.
لاستخراج جميع الملفات من دليل داخل ملف tar ، استخدم الأمر التالي. لاحظ أن المسار ملفوف بعلامات اقتباس نظرًا لوجود مسافات في المسار.
tar -xvzf ukulele_songs.tar.gz "أغاني Ukulele / Ramones /"
لاستخراج ملف واحد ، قم بتوفير المسار واسم الملف.
tar -xvzf ukulele_songs.tar.gz "أغاني Ukulele / 023 - My Babe.odt"
يمكنك استخراج مجموعة مختارة من الملفات باستخدام أحرف البدل ، حيث *
تمثل أي سلسلة من الأحرف ?
وتمثل أي حرف واحد. يتطلب استخدام أحرف البدل استخدام --wildcards
الخيار.
tar -xvz --wildcards -f ukulele_songs.tar.gz "أغاني Ukulele / Possibles / B *"
استخراج الملفات دون استخراج الأدلة
إذا كنت لا تريد إعادة إنشاء بنية الدليل في ملف tar على محرك الأقراص الثابتة ، فاستخدم --strip-components
الخيار. و --strip-components
يتطلب خيار معلمة العددية. يمثل الرقم عدد مستويات الدلائل التي يجب تجاهلها. لا يزال يتم استخراج الملفات من الدلائل التي تم تجاهلها ، ولكن لا يتم نسخ بنية الدليل على محرك الأقراص الثابتة.
إذا حددنا --strip-components=1
باستخدام ملف tar الخاص بنا ، فلن يتم إنشاء دليل Ukulele Songs الذي يحتل المرتبة الأولى في ملف tar على محرك الأقراص الثابتة. يتم استخراج الملفات والدلائل التي كان من الممكن استخراجها إلى هذا الدليل في الدليل الهدف.
tar -xvzf ukulele_songs.tar.gz - مكونات الشريط = 1
لا يوجد سوى مستويين من تداخل الدليل داخل ملف tar الخاص بنا. لذلك إذا استخدمنا --strip-components=2
، يتم استخراج جميع الملفات في الدليل الهدف ، ولا يتم إنشاء أدلة أخرى.
tar -xvzf ukulele_songs.tar.gz - مكونات الشريط = 2
إذا نظرت إلى صفحة Linux man ، فسترى أنه tar
يجب أن يكون مرشحًا جيدًا لعنوان "الأمر الذي يحتوي على معظم خيارات سطر الأوامر". الحمد لله، والسماح لنا لاستخراج الملفات من .tar.gz
و tar.bz2
الملفات مع وجود درجة جيدة من التحكم الدقيق، نحن بحاجة فقط لنتذكر حفنة من هذه الخيارات.