برای جدا کردن / استخراج پرونده .tar.gz به چه دستوراتی نیاز دارم؟


به جواب پذیرفته شده بروید




من یک فایل .tar.gz عظیم را از یک مشتری دریافت کردم که حاوی حدود 800 مگابایت فایل تصویری است (در صورت فشرده سازی). ftp شرکت میزبان ما بسیار کند است ، بنابراین استخراج کلیه پرونده ها به صورت محلی و ارسال آنها از طریق ftp عملی نیست. من می توانم پرونده .tar.gz را به سایت میزبان ما ftp کنم ، اما وقتی وارد دایرکتوری خودم شدم و از unzip استفاده کردم ، این خطا را به من می دهد:

 [[email protected] locations]$ unzip community_images.tar.gz
Archive:  community_images.tar.gz
  End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note:  community_images.tar.gz may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.zip, and cannot find community_images.tar.gz.ZIP, period.
 

برای استخراج تمام پرونده ها در یک پرونده .tar.gz از چه دستوری استفاده کنم؟


852









8 :تعداد پاسخها


man tar برای اطلاعات بیشتر تایپ کنید ، اما این دستور باید این ترفند را انجام دهد:

 tar -xvzf community_images.tar.gz
 

همچنین برای استخراج در یک فهرست خاص

برای مثال برای استخراج بایگانی در یک my_images فهرست راهنما.

 tar -xvzf community_images.tar.gz -C my_images
 

برای توضیح بیشتر ، tar همه پرونده ها را در یک بسته جمع آوری کردیم community_images.tar . برنامه gzip فشرده سازی را اعمال می کند ، از این رو gz پسوند. بنابراین دستور چند کار انجام می دهد:

  • f : این باید آخرین پرچم فرمان باشد و تار f ile باید بلافاصله پس از آن باشد. نام و مسیر پرونده فشرده شده را نشان می دهد.
  • z : به تار می گوید که بایگانی را با استفاده از g z ip فشرده سازی کنید
  • x : tar می تواند پرونده ها را جمع آوری کند یا e x tract آنها را جمع کند. x دومی را انجام می دهد
  • v : باعث می شود تار زیاد صحبت کند. خروجی V erbose تمام پرونده های استخراج شده را به شما نشان می دهد.
  • C : به معنای c آویز کردن فهرست است DIR . در مثال ما ، DIR است my_images .

1427



اگر می خواهید پرونده ها در یک مقصد خاص استخراج شوند می توانید ابتدا فهرست را درست کنید ، در این مورد: ~ / تصاویر / انجمن -C /destination/path/

مثال:

 mkdir ~/Pictures/Community
tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/
 

شما به راحتی می توانید آن را حفظ کنید اگر شما در نظر گفتن تار به e X دستگاه F ایل


gif فرآیند انجام شده در ترمینال

توجه: به یاد داشته باشید شما می توانید صفحات مرد در داخل با جستجو ? + مدت به دنبال، و پس از آن n و N برای رفتن به عنوان مثال بعدی یا قبلی از مدت شما به دنبال برای.


175



در مقطعی tar به رفع فشار خودکار ارتقا یافت. همه آنچه اکنون نیاز دارید این است:

 tar xf community_images.tar.gz
 

همین توضیحات کاربرد دارد:

  • f : این باید آخرین پرچم فرمان باشد و تار f ile باید بلافاصله پس از آن باشد. نام و مسیر پرونده فشرده شده را نشان می دهد.
  • x : e x فایل ها را ردیابی کنید.

توجه داشته باشید که عدم وجود hyphen برای پرچم های فرمان است. دلیل این امر این است که اکثر نسخه های تار گزینه های سبک gnu و bsd را امکان پذیر می سازند (به عبارت ساده ، gnu نیاز به یک بورس دارد ، bsd این کار را نمی کند).


110



به یاد آوردن همه پرچم ها tar می تواند خسته کننده باشد. اجباری XKCD:


توضیحات تصویر را اینجا وارد کنید

بنابراین من فیلمنامه کوچک خودم را در پایتون ساختم تا این کار را انجام دهم. سریع ، کثیف ، cp شبیه به استفاده:

 #!/usr/bin/env python3
import tarfile,sys,os
tf = tarfile.open(name=sys.argv[1],mode='r:gz')
where = '.'
if len(sys.argv) == 3:
    where = sys.argv[2]
tf.extractall(path=where)
tf.close()
 

از آن به این ترتیب استفاده کنید:

 myuntar.py archive.tar
 

همچنین اسکریپت مشابه را برای از بین بردن بایگانی های فشرده مشاهده کنید .


12



جواب سریع:

 tar -xvf  <.tar file> or <.tar.xz file>
tar -xzvf <.tar.gz file>
tar -xjvf <.tar.bz2 file>
 

[ توجه ]:

  • -v پرونده های لفظی پردازش شده را لیست کنید.
  • -z بایگانی را از طریق gzip فیلتر کنید.
  • -f از پرونده بایگانی یا دستگاه ARCHIVE استفاده کنید.
  • -x استخراج پرونده ها از بایگانی.
  • -j bzip2
  • tar -xf archive.tar # همه پرونده ها را از archive.tar .

9



در صورت عدم توانایی استخراج .tar.gz فایل با استفاده از

 tar -xvzf fileName.tar.gz
 

با استفاده از آزمایش استخراج کنید

 tar xf fileName.tar.gz
 

4



tar xvf file.tar.gz

  • x برای عصاره
  • v برای شفاف سازی (لیست پرونده ها)
  • f برای نام پرونده بعدی است

هر نسخه از راه دور مدرن از تار باید به طور خودکار تشخیص دهد که بایگانی به دست آمده است و "z" را برای شما اضافه می کند.


1



شما می توانید این کار را در مرحله اول نیز انجام دهید:

gunzip community_images.tar.gz

سپس پرونده را دارید: community_images.tar

مرحله دوم:

tar -xvf community_images.tar

و پرونده * .tar استخراج می شود.


0



انتشارات مرتبط


چگونه می توانم یک پرونده .tar.gz (یا .tar.bz2) نصب کنم؟

چگونه می توانم محتویات پرونده tar.gz را بدون استخراج از خط فرمان مشاهده کنم؟

تفاوت بین .tar.gz و .gz یا .tar.7z و .7z چیست؟

چگونه می توانم یک پرونده خاص را از بایگانی تار استخراج کنم؟

چگونه می توان پرونده های tar.7z را از خط فرمان استخراج کرد؟ [تکثیر]

چگونه می توان از دستور sudo برای نصب .tar.gz استفاده کرد؟ [تکثیر]

خطای "شکست در ایجاد لینک نمادین: پرونده وجود دارد" چیست؟

رمزگذاری پرونده tar.gz در ایجاد

چگونه می توانم فایل tar.gz را بروزرسانی کنم؟

نحوه استخراج پرونده tar.gz [کپی]

[tar] سوال برچسب


چگونه می توان یک بسته واحد را با استفاده از apt-get آپدیت کرد؟

چگونه سرویس ها را فعال یا غیرفعال کنیم؟

چگونه می توان از یک ترمینال خاموش یا راه اندازی مجدد کرد؟

چگونه یک دایرکتوری به PATH اضافه کنیم؟

چگونه می توان خروجی ترمینال را در یک پرونده ذخیره کرد؟

چه برنامه های کاربردی در دسترس هستند؟

چگونه یک متغیر در bash را افزایش دهیم؟

روش صحیح حذف کامل برنامه چیست؟

چگونه می توان اوبونتو را در کنار ویندوز از پیش نصب شده با UEFI نصب کرد؟

چگونه می توانم وابستگی های برآورده نشده پس از افزودن PPA را برطرف کنم؟