मैं tar
'my_directory' नामक एक निर्देशिका में फ़ाइलों के संग्रह की कोशिश कर रहा हूं और कमांड का उपयोग करके मूल को हटा सकता हूं:
tar -cvf files.tar my_directory --remove-files
हालाँकि यह केवल निर्देशिका के अंदर व्यक्तिगत फ़ाइलों को हटा रहा है न कि स्वयं निर्देशिका को (जो मैंने कमांड में निर्दिष्ट किया है)। मुझे यहां क्या समझ नहीं आ रहा है?
संपादित करें:
हां, मुझे लगता है कि 'निकालें-फाइलें' विकल्प काफी शाब्दिक है। हालाँकि मुझे भी उस बिंदु पर मैन पेज अस्पष्ट मिला। (लिनक्स में मैं वास्तव में निर्देशिकाओं और फाइलों के बीच बहुत अंतर नहीं करता हूं, और कभी-कभी भूल जाता हूं कि वे एक ही चीज नहीं हैं)। ऐसा लगता है कि आम सहमति यह है कि यह निर्देशिकाओं को नहीं हटाती है।
हालाँकि, इस प्रश्न को पूछने के लिए मेरा प्रमुख संकेत बिंदु टार के पूर्ण पथ से निपटने से है। क्योंकि आपको संपीड़ित होने के लिए फ़ाइल के लिए एक सापेक्ष पथ निर्दिष्ट करना होगा, इसलिए आपको इसे ठीक से टारगेट करने के लिए मूल निर्देशिका में बदलना होगा। जैसा कि मैं इसे किसी भी तरह के फॉलो-ऑन 'आरएम' कमांड का उपयोग करके देखता हूं, उस स्थिति में संभावित खतरनाक है। इस प्रकार मैं टार खुद को हटाने के द्वारा चीजों को आसान बनाने की उम्मीद कर रहा था।
उदाहरण के लिए, एक बैकअप स्क्रिप्ट की कल्पना करें, जहां बैकअप के लिए निर्देशिका (यानी टार) शेल चर के रूप में शामिल है। यदि वह शेल वैरिएबल मान बुरी तरह से दर्ज किया गया था, तो संभव है कि परिणाम जो भी डायरेक्टरी आपके साथ हुआ हो उससे फाइल डिलीट की जा सके।