tar
डिफ़ॉल्ट रूप से सापेक्ष पथ संग्रहीत करता है । GNU टार यहां तक कहता है कि अगर आप एक निरपेक्ष पथ को संचय करने का प्रयास करते हैं:
tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names
यदि आपको किसी विशेष फ़ोल्डर को निकालने की आवश्यकता है, तो टार फाइल में एक नज़र डालें:
tar -tvf foo.tar
और सटीक फ़ाइल नाम पर ध्यान दें। अपनी foo.tar
फ़ाइल के मामले में , मैं यह /home/foo/bar
कहकर निकाल सकता हूं:
tar -xvf foo.tar home/foo/bar # Note: no leading slash
तो नहीं, जिस तरह से आपने पोस्ट किया है वह (आवश्यक) इसे करने का सही तरीका नहीं है। आपको अग्रणी स्लैश को छोड़ना होगा। यदि आप पूर्ण रास्तों का अनुकरण करना चाहते हैं, तो cd /
पहले करें और सुनिश्चित करें कि आप सुपरसियर हैं। इसके अलावा, यह वही करता है:
tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option
बहुत स्पष्ट, अच्छे कारण हैं कि tar
रिश्तेदार लोगों को रास्ते क्यों बदलते हैं। एक अपने मूल स्रोत के अलावा अन्य स्थानों में एक संग्रह को पुनर्स्थापित करने की क्षमता है। दूसरी सुरक्षा है। आप एक संग्रह को निकाल सकते हैं, उम्मीद कर सकते हैं कि इसकी फाइलें आपके वर्तमान कार्यशील निर्देशिका में दिखाई दें, और इसके बजाय सिस्टम फ़ाइलों (या अपने खुद के काम) को गलती से कहीं और अधिलेखित कर दें।
नोट: यदि आप -P
विकल्प का उपयोग करते हैं , tar
तो निरपेक्ष पथ संग्रह करेंगे । इसलिए यह हमेशा निकालने से पहले बड़े अभिलेखागार की सामग्री की जांच करने के लिए भुगतान करता है।