टार - निष्कर्षण पर प्रमुख निर्देशिका घटकों को हटा दें


104

आप केवल लक्ष्य डायर को कैसे निकाल सकते हैं न कि पूर्ण डायर के पेड़ को?

संकुचित करें

tar cf /var/www/site.tar /var/www_bak/site

उद्धरण

tar xf /var/www/site.tar -C /tmp

यह उत्पादन करेगा:

/tmp/var/www/site

जब फ़ाइल निकाली जाती है तो पूरे डायर के पेड़ से बचना कैसे संभव है?

क्या मैं इसे निकालने के लिए चाहते हैं:

/tmp/site

जवाबों:


34

-Cबनाते समय विकल्प का उपयोग क्यों न करें :

$ tar cf /var/www/site.tar -C /var/www_bak/ site

1
TMTOWTDI। वह भी उसी -Cविकल्प का उपयोग करके काम करेगा ;)
मिकीबी

12
वह कुछ प्रमुख घटकों से पथ को निकालना चाहता है, आउटपुट निर्देशिका को नहीं बदलता है। सही उत्तर के लिए नीचे देखें।
aymericbeaumet

4
जब कोई और संग्रह तैयार करता है तो हम इसका उपयोग नहीं कर सकते।

क्योंकि `` `_t = उपसर्ग - $ (तिथि +% Y% m% d); tar -cjf ".backups / $ _ t.tar.bz2" --transform = "s ^ ^ ((./); # $ _ t / # x?" - फाइलें ...; tar -df ".backups / $ _ t.tar.bz2" --strip-Components = 1 `` `
AnrDaemon

258

आप के --strip-components=NUMBERविकल्प का उपयोग करना चाहते हैं tar:

 --strip-components=NUMBER
       strip NUMBER leading components from file names on extraction

आपकी आज्ञा होगी:

tar xfz /var/www/site.gz --strip-components=2 -C /tmp

19
यह उत्तर बेहतर है क्योंकि आपको टार निर्माण से पहले इसके बारे में सोचने की ज़रूरत नहीं है। आप इसे पहले से बनाई गई टार फाइल के साथ उपयोग कर सकते हैं। धन्यवाद @ मिकीबी!
फाबिन क्वात्रावाक्स

4
मुझे यह रिपोर्ट करने में खुशी हो रही है कि यह GNU टार और BSD टार दोनों में काम करता है।
नाथन उस्मान

4
और क्योंकि आप टार क्रिएटर नहीं हो सकते हैं ... (या यदि आप इसे किसी अन्य टूल के साथ कर रहे हैं और यह टूल मूर्खतापूर्ण काम करता है ...)
xenoterracide

हालाँकि, --strip-componentsयदि आप व्यस्त-एम्बेडेड-क्रियान्वयन का उपयोग कर रहे हैं, तब भी आप ध्वज को गायब कर सकते हैं tar
सिल्वेनुलग

1
@FabienQuatravaux ठीक है, हाँ --- यदि आपने कोई गलती की है और एक संग्रह बनाया है जिसमें प्रमुख निर्देशिकाएं शामिल हैं जिन्हें आप निष्कर्षण के दौरान नहीं देखना चाहते हैं। लेकिन यह पहली जगह में प्रमुख अवांछनीय निर्देशिकाओं के बिना संग्रह का निर्माण करने के लिए स्पष्ट है।
Calaf
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.