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


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




من فکر کردم tar archive.tar /users/mylocation کار می کند ، اما اینطور نیست. چطور می توانم آن را انجام بدهم؟


683









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


برای استخراج یک بایگانی به دایرکتوری متفاوت از جریان ، از گزینه -C ، یا --directory ، گزینه tar استفاده کنید

 tar -xf archive.tar -C /target/directory
 

توجه داشته باشید كه دایرکتوری هدف قبل از اجرای آن فرمان (كه می تواند توسط آن ایجاد شود mkdir /target/directory ) وجود داشته باشد.

برای سایر گزینه ها ، صفحه دستی (دستور:) را بخوانید man tar .


975



توجه داشته باشید که اگر تاربال شما قبلاً حاوی نام دایرکتوری است که می خواهید تغییر دهید ، --strip-components=1 گزینه را اضافه کنید:

 tar xf archive.tar -C /target/directory --strip-components=1
 

263



ترکیب پاسخ ها و نظرات قبلی:

به سادگی استخراج مطالب و ایجاد فهرست راهنما در صورت عدم وجود:

 mkdir -p /target/directory && tar xf archive.tar -C /target/directory
 

برای استخراج و همچنین حذف فهرست اصلی (سطح اول) در فشرده سازی فشرده

 mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1
 

31



گزینه دیگر استفاده از --one-سطح بالا است. این به طور خودکار یک دایرکتوری بر اساس نام اصلی را ایجاد می کند.

 tar zxvf filename.tgz --one-top-level
 

علاوه بر این در صورت تمایل می توانید خود را مشخص کنید و تار به صورت خودکار آن را ایجاد می کند.

 tar zxvf filename.tgz --one-top-level=new_directory
 

22



آنچه در رابطه با استخراج جالب دیدم این است که بستگی به نحوه ایجاد بایگانی دارد ، این مثال را ببینید

 cd /tmp
mkdir folder
touch folder/file.txt
 

هنگامی که tar -zcvf folder.tar.gz folder همه کارها را انجام می دهید همانطور که انتظار می رود = وقتی آن را فراموش نکردید اکنون غیرمستقیم خواهد بود (اگر پوشه را حذف کنید ، پوشه ایجاد می شود) /tmp/folder/ .

اما ، هنگامی که تار را ایجاد می کنید tar -zcvf tmp-folder.tar.gz /tmp/folder و آنرا در پوشه / tmp پاک نمی کنید ، نتیجه فهرست خواهد بود /tmp/tmp/folder ! در چنین حالتی مجبور هستید که آن را خدشه دار کنید - / tar -xf tmp-folder.tar.gz -C /


2



با تار 1.29 ، فقط می توانیم نام فهرست را بعد از نام تار اضافه کنیم. برای مثال،

 tar zxvf tar-file directory-name/
 

1



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


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

چگونه می توان از طریق ترمینال فایل را به دستگاه دیگری کپی کرد؟

چگونه نسخه BIOS مادربرد را با استفاده از خط فرمان بشناسیم

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

چگونه می توان با استفاده از "find" پرونده ها را بین دو تاریخ پیدا کرد؟

چگونه می توان پرونده ها را از آرشیو تقسیم 7zip استخراج کرد؟

چگونه می توان بایگانی را برای فایل سیستم در ترمینال استخراج کرد؟

چگونه با استفاده از خط فرمان به طور دائم محافظ برق مانیتور را غیرفعال کنیم؟

چگونه می توان با استفاده از استاد عروسکی ، پرونده ها را در کلیه دستگاه ها کپی کرد؟

نحوه کپی کردن فایل ها بین دو کامپیوتر با استفاده از SSH [کپی]

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


چگونه حالت bash یا ssh را به یک ظرف در حال اجرا در حالت پس زمینه تبدیل کنیم؟

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

چگونه می توانم nodeJS خود را به آخرین نسخه بروزرسانی کنم؟

دستور تعیین IP عمومی من؟

چگونه یک دایرکتوری غیر خالی در ترمینال حذف شود؟

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

چگونه یک فهرست را از طریق خط فرمان تغییر نام دهم؟

چگونه می توانم صفحه خود را ضبط کنم؟

وحدت بارگیری نمی شود ، هیچ پرتاب ، هیچ Dash ظاهر نمی شود

چگونه می توانم به صورت بازگشتی تمام پرونده های یک برنامه افزودنی خاص را در فهرست فعلی حذف کنم؟