كيف يمكنني untar دليل فرعي في الدليل الحالي؟ [مغلق]

StackOverflow https://stackoverflow.com/questions/845593

  •  21-08-2019
  •  | 
  •  

سؤال

وكيف يمكنني استخراج دليل فرعي في كتل القطران في الدليل الحالي؟

وعلى سبيل المثال، فإن كتل القطران من ورد :

wordpress/
wordpress/wp-trackback.php
wordpress/wp-config-sample.php
wordpress/wp-settings.php
wordpress/wp-rss2.php
wordpress/readme.html
wordpress/index.php
...

وكيف يمكنني استخراج كل شيء تحت wordpress/ في الدليل الحالي؟ في otherwords، فإنه لن إنشاء دليل wordpress.

ولقد حاول هذا مع عدم وجود الحظ:

tar xvfz latest.tar.gz wordpress -C ./

وأعرف أنني أستطيع أن استخراجها بشكل طبيعي ونقله مرة أخرى، ولكن الرقم الأول يجب أن يكون هناك طريقة للقيام بذلك في طلقة واحدة.

هل كانت مفيدة؟

المحلول

لماذا لا untar عادة، بعد ذلك فقط:

mv wordpress/.* .
mv wordpress/* .
rmdir wordpress

ولكن للأسف، هناك:

tar --strip-components=1 -zxvf wordpress.tgz

نصائح أخرى

والمثير للدهشة، يا tar (GNU القطران v1.16) ليس لديها خيار لتجريد عناصر مسار الأولية.

ولكن، يبدو أن المزيد من الإصدارات الأخيرة سبورت المعلمة --strip-components=number، التي سترفع إلى أن العديد compononents من بداية المسار.

إذا كنت مثلي تستخدم tar كبار السن، وكنت متأكدا من الأرشيف لا يحتوي على wordpress/wordpress الدليل أو الملف المسمى، هل يمكن دائما مجرد تقديم الرمزي من wordpress إلى .، ثم استخراج كالمعتاد:

ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top