क्या मैं किसी अन्य फ़ोल्डर में टार का उपयोग करके एक विशिष्ट फ़ोल्डर निकाल सकता हूं?


14

मैं लिनक्स की दुनिया में नया हूँ और लगता है कि एक ठोकर में चला गया। मैं जानता हूँ कि मैं आदेश का उपयोग कर एक specifc संग्रह निकाल सकते हैं tar xvfz archivename.tar.gz sampledir/लेकिन मैं कैसे निकाल सकते हैं sampledir/करने के लिए testdir/पथ के बजाय कि संग्रह में egcurrently संग्रह पथ में है /tmp/archivename.tar.gzऔर मैं निकालने के लिए चाहते हैं sampledirके लिए testdirजो रास्ते में है /tmp/testdir

जवाबों:


19

आप जो देख रहे हैं वह -Cविकल्प है:

$ man tar
<snip>

-C, --directory DIR
       change to directory DIR

उपयोग, आपके उदाहरण के अनुसार:

$ tar xvzf archivename.tar.gz -C /tmp/testdir/ sampledir/

इसके अलावा, आपको यह जानने में दिलचस्पी हो सकती है कि आधुनिक संस्करणों को फ्लैज़ करने के लिए gzipped फ़ाइलों की tarआवश्यकता नहीं है z; वे यह नोटिस करेंगे .gzऔर स्वचालित रूप से सही बात करेंगे।


धन्यवाद। मजेदार रूप से मैंने कोशिश की कि प्रश्न पोस्ट करने से पहले और यह विफल हो गया। शायद मुझे एक विकल्प याद आ गया। मैं इसे फिर से कोशिश करूँगा।
मूँगफली के दाने

प्रतिभा। मैं हमेशा बड़े अभिलेखागार के बारे में भूल जाता हूं।
ज़मीनटेका

3

आपको हर चीज के साथ पागल खेल खेलने की जरूरत नहीं है। टार पूरी तरह से संग्रह में फ़ाइलों के एक सबसेट को निकालने का समर्थन करता है, जैसा कि निम्नलिखित (तुच्छ) उदाहरण में दिखाया गया है:

/tmp $ mkdir tarsrc
/tmp $ cd tarsrc
/tmp/tarsrc $ mkdir a b
/tmp/tarsrc $ touch a/aaa b/bbb
/tmp/tarsrc $ tar cf ../tartest.tar .
/tmp/tarsrc $ cd ..
/tmp $ mkdir tardest
/tmp $ cd tardest
/tmp/tardest $ tar xf ../tartest.tar ./a    
/tmp/tardest $ ls -R
.:
a/

./a:
aaa

चाल यह है कि pathspec को तारकोल की सामग्री से बिल्कुल मेल खाना चाहिए। इसलिए जब आप एक करते हैं tar tf, अगर रास्ता शुरू होता है ./, तो आपको वह डाल देना होगा और अगर यह नहीं है, तो आपको इसे छोड़ना होगा। इसके अलावा, यदि आप एक उप-उप-उप-उप-उप-उप-उप-पथ निकालना चाहते हैं, तो यह फाइल सिस्टम में एन स्तर को गहरा कर देगा जब आप काम कर लेंगे।


धन्यवाद womble। शायद इसका उपयोग करने का सही उदाहरण नहीं है, लेकिन मैं टार की तुलना Winzip, WinRAR, आदि से कर रहा हूं और संभवतः टार का उपयोग करने के लिए गलत कमांड है, हालांकि यह देखते हुए कि मैंने टार अनआर्काइविंग गज़िप और bzip फ़ाइलों का उदाहरण देखा है, मुझे उम्मीद थी कि मैं कर सकता था इसी तरह की प्रक्रिया को लागू करें जैसे कि आप जिस फ़ाइल को अनारकली पसंद करते हैं उसे चुनें (टार ऐसा करता है) और उस पथ का चयन करें जिसे आप निकालना चाहते हैं (टार ऐसा नहीं करता है जब तक कि मैं विशिष्ट निर्देशिका में नहीं हूं)।
मूँगफली के दाने

आप -Cविकल्प को टार करना चाहते हैं , फिर।
Womble
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.