كيفية استخراج الملفات من ملف .tar.gz أو .tar.bz2 على نظام Linux
نشرت: 2022-01-29ملفات Tar هي أرشيفات مضغوطة. ستواجههم كثيرًا أثناء استخدام توزيعة Linux مثل Ubuntu أو حتى أثناء استخدام الجهاز على macOS. إليك كيفية استخراج محتويات ملف tar ، أو untar ، والمعروف أيضًا باسم tarball.
ماذا يعني .tar.gz و .tar.bz2؟
الملفات التي لها امتداد .tar.gz
أو .tar.bz2
هي ملفات أرشيف مضغوطة. الملف بامتداد .tar
فقط غير مضغوط ، لكن هذا سيكون نادرًا جدًا.
الجزء .tar
من امتداد الملف يرمز إلى t ape ar chive ، وهو سبب تسمية كلا نوعي الملفات هذين بملفات tar. يعود تاريخ ملفات Tar إلى عام 1979 عندما تم إنشاء الأمر tar
للسماح لمسؤولي النظام بأرشفة الملفات على شريط. بعد أربعين عامًا ، ما زلنا نستخدم الأمر tar
لاستخراج ملفات tar على محركات الأقراص الثابتة الخاصة بنا. شخص ما في مكان ما ربما لا يزال يستخدم tar
مع الشريط.
تشير لاحقة الامتداد .gz
أو .bz2
إلى أنه تم ضغط الأرشيف باستخدام إما خوارزمية الضغط gzip
أو bzip2
. سيعمل الأمر tar
بسعادة مع كلا النوعين من الملفات ، لذلك لا يهم طريقة الضغط التي تم استخدامها - ويجب أن تكون متاحة في كل مكان لديك Bash shell. تحتاج فقط إلى استخدام خيارات سطر أوامر tar
المناسبة.
استخراج الملفات من ملفات Tar
لنفترض أنك قمت بتنزيل ملفين من الموسيقى ورقة. أحد الملفات يسمى ukulele_songs.tar.gz
، والآخر يسمى guitar_songs.tar.bz2
. هذه الملفات موجودة في دليل التنزيلات.
لنستخرج أغاني القيثارة:
القطران -xvzf القيثارة_ songs.tar.gz
عند استخراج الملفات ، يتم إدراجها في نافذة المحطة الطرفية.
خيارات سطر الأوامر التي استخدمناها هي:
- -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 "أغاني القيثارة / 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
بدرجة جيدة من التحكم الدقيق ، نحتاج فقط إلى تذكر عدد قليل من هذه الخيارات.
أوامر لينكس | ||
الملفات | tar · pv · cat · tac · chmod · grep · diff _ _ _ _ _ _ _ _ _ _ _ · ذيل · ستات · ls · fstab · صدى · أقل · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · تثبيت · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · تحويل · rclone · shred · srm | |
العمليات | الاسم المستعار · شاشة · أعلى · لطيف · رينييس · تقدم · ستريس · systemd · tmux · chsh · تاريخ · في · دفعة · مجانية · أي · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · نعم · قتل · نوم · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg | |
الشبكات | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · حفر · إصبع · nmap · ftp · curl · wget · who · who · w · iptables · ssh-keygen · ufw |
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين