मैं cp -r
और के बीच अंतर की तलाश कर रहा हूँ cp -a
। फ़ोल्डर से फ़ाइलों की प्रतिलिपि बनाने के मामले में "पुनरावर्ती" का क्या अर्थ है?
मैं cp -r
और के बीच अंतर की तलाश कर रहा हूँ cp -a
। फ़ोल्डर से फ़ाइलों की प्रतिलिपि बनाने के मामले में "पुनरावर्ती" का क्या अर्थ है?
जवाबों:
पुनरावर्ती का अर्थ है कि cp
निर्देशिकाओं की सामग्री की प्रतिलिपि बनाना, और यदि किसी निर्देशिका में उपनिर्देशिकाएँ हैं तो उन्हें कॉपी किया जाता है (पुनरावर्ती)। इसके बिना -R
, cp
कमांड निर्देशिका को छोड़ देता है। लिनक्स पर -r
समान है -R
, यह कुछ अन्य यूनिक्स वेरिएंट पर कुछ किनारे के मामलों में भिन्न है।
डिफ़ॉल्ट रूप से, cp
एक नई फ़ाइल बनाता है जिसमें पुरानी फ़ाइल की तरह ही सामग्री होती है, और वही अनुमतियाँ जो umask द्वारा प्रतिबंधित होती हैं ; कॉपी कॉपी के समय से दिनांकित है, और कॉपी करने वाले उपयोगकर्ता के अंतर्गत आता है। -p
विकल्प के साथ , कॉपी में एक ही संशोधन समय, एक ही एक्सेस समय और मूल के समान अनुमतियाँ हैं। इसमें मूल के समान स्वामी और समूह भी हैं, यदि कॉपी करने वाले उपयोगकर्ता को ऐसी फाइलें बनाने की अनुमति है।
-a
विकल्प का मतलब है -R
और -p
साथ ही कुछ अन्य संरक्षण विकल्प। यह एक प्रतिलिपि बनाने का प्रयास करता है जो मूल के करीब है: एक ही निर्देशिका ट्री, एक ही फ़ाइल प्रकार, एक ही सामग्री, एक ही मेटाडेटा (समय, अनुमतियाँ, विस्तारित विशेषताएँ, आदि)।
-r
क्योंकि -a
( a
riveive के लिए) हमेशा सबसे सुरक्षित होता है और शायद आप जो होने की उम्मीद करते हैं।
-r
है कि आप लिनक्स के अलावा कुछ यूनिक्स संस्करण -a
पर हैं जो आपके पास नहीं हैं , और आम तौर पर आप उपयोग करेंगे cp -rp
। या rsync -a
।
"पुनरावर्ती" के लिए -r या -R विकल्प का अर्थ है कि यह सबफ़ोल्डर्स के अंदर मौजूद फ़ाइलों सहित सभी फ़ाइलों की प्रतिलिपि बनाएगा।
सूचीबद्ध के रूप में -a विकल्प -dR के समान है जिसका अर्थ है कि यह लिंक को संरक्षित करेगा और उपनिर्देशिका की सामग्री की प्रतिलिपि भी बनाएगा। लिंक को संरक्षित करने का मतलब यह है कि यह लिंक का पालन नहीं करेगा क्योंकि यह पुनरावर्ती कॉपी है।