रिश्तेदार पथ के साथ टार


24

मैं रिश्तेदार रास्तों का उपयोग करके टार के साथ एक संग्रह बनाने की कोशिश करता हूं। मैं निम्नलिखित कमांड का उपयोग करता हूं:

tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order

लेकिन संग्रहीत फ़ाइलों में अभी भी पूर्ण पथ हैं। मैं सापेक्ष रास्तों के साथ टार का उपयोग कैसे कर सकता हूं?


जवाबों:


24

'~' शेल द्वारा विस्तारित है। -सी के साथ '~' का प्रयोग न करें:

tar czf ~/files/wp/my-page-order.tar.gz \
      -C ~ \
       webapps/zers/wp-content/plugins/my-page-order

(tar में webapps / zers / wp-content / plugins / my-page-order पथ शामिल होंगे) या

tar czf ~/files/wp/my-page-order.tar.gz \
      -C ~/webapps/zers/wp-content/plugins \
       my-page-order

(टार में मेरा पृष्ठ-क्रम पथ शामिल होगा)

या बस पहले सीडी…।

cd ~/webapps/zers/wp-content/plugins
tar czf ~/files/wp/my-page-order.tar.gz my-page-order

2
स्पष्टीकरण गलत है। यह यहाँ कोई फर्क नहीं पड़ता कि ~ शेल द्वारा विस्तारित है। क्या मायने रखती है वह यह है कि -Cवर्तमान कार्यशील निर्देशिका बदलता है के रूप में में विस्तार से बताया anwer Lekensteyn द्वारा।
पायोत्र डोब्रोगोस्ट

1
नहीं - मूल प्रश्न को देखें - अंतिम तर्क एक निरपेक्ष मार्ग है।
सिम्बियन

तो क्या? ~ के दोनों उदाहरणों का विस्तार किया गया है और पूरा आह्वान केवल अपेक्षा के अनुसार काम नहीं कर रहा है क्योंकि उपयोग के मामले में अंतिम तर्क -Cको सापेक्ष पथ के रूप में दिया जाना चाहिए था, लेकिन इसके बजाय पूर्ण पथ के रूप में दिया गया है। ~ यहाँ का उपयोग करना बिल्कुल भी मायने नहीं रखता है।
पायोत्र डोब्रोगोस्ट

11

-C new_cwdवर्तमान कार्य निर्देशिका को बदलता है new_cwd। इसके बाद निम्न तर्कों का मूल्यांकन किया जाता है new_cwd

tar czf ~ / files / wp / my-page-order.tar.gz -C ~ / webapps / zers / wp-content / plugins / my-page-order


4

गैर जीएनयू समाधान अगर tarकोई -zविकल्प नहीं है, सिर्फ उल्लेख करने के लिए:

pushd ~/files/wp; tar cvf - my-page-order | gzip > my-page-order.tar.gz && rm -rf my-page-order; popd

EDIT (साथ &&और बिना rm):

pushd ~/files/wp && tar cvf - my-page-order | gzip > my-page-order.tar.gz && popd

(१) प्रश्न कुछ नहीं कहता है rm; आप इसे अपने उत्तर में क्यों शामिल करते हैं? (२) आपका उत्तर गलत निर्देशिका को संग्रहीत करता है। (३) आप क्यों बदल tar -zगए हैं tar | gzip? (4) जब तक आप उपयोग करने के लिए जा रहे हैं के रूप में &&, तो आप शायद का उपयोग करना चाहिए &&के बाद pushdभी।
जी-मैन ने

(१) आपने सही कहा है (२) सच में? कौन सा अच्छा है? (3) यह वह बिंदु है: टार के गैर GNU संस्करण (उदाहरण के लिए, यूनिक्स पर), नहीं -z (4) मैं शायद &&एक स्क्रिप्ट में उपयोग करूँगा, लेकिन मुझे लगता है कि यह "एक लाइनर" में आवश्यक नहीं है
Mattia72

(2) ओपी ~/webapps/zers/wp-content/plugins/my-page-orderआउटपुट के साथ संग्रह करना चाहता है ~/files/wp/my-page-order.tar.gz; आपका आदेश अभिलेखागार ~/files/wp/my-page-order। (३) अपने उत्तर का संपादन करने के लिए धन्यवाद कि आपने इसका उपयोग क्यों किया gzip
जी-मैन ने कहा कि 'मोनिका' को
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.