कैसे स्थापित है -c cp से अलग है


20

Install -c और cp में क्या अंतर है? अधिकांश इंस्टॉलेशन इंस्टॉल -c का उपयोग करते हैं, लेकिन मैन पेज से ऐसा नहीं लगता है कि यह cp से अलग कुछ भी करता है (शायद सेट अनुमतियों को छोड़कर)। मुझे कब स्थापित करना चाहिए -c और कब cp?

जवाबों:


18

एक महत्वपूर्ण अंतर यह है कि cp गंतव्य फ़ाइल को काट देता है और गंतव्य फ़ाइल में स्रोत से डेटा की प्रतिलिपि बनाना शुरू कर देता है।

दूसरी ओर स्थापित करें, पहले गंतव्य फ़ाइल को हटा देता है।

यह महत्वपूर्ण है क्योंकि यदि गंतव्य फ़ाइल पहले से ही उपयोग में है, तो खराब चीजें हो सकती हैं, जो उस फ़ाइल का उपयोग कर रहा है यदि आप उसके cpऊपर एक नई फ़ाइल बनाते हैं । उदाहरण के लिए, एक निष्पादन योग्य है जो चल रहा है को विफल कर सकता है। एक डेटा फ़ाइल को रौंदना जो एक मौजूदा प्रक्रिया पढ़ने / लिखने में व्यस्त है, जिससे बहुत अजीब व्यवहार हो सकता है। यदि आप गंतव्य फ़ाइल को पहले हटाते हैं, जैसा कि स्थापित करता है, तो चीजें बहुत कुछ सामान्य की तरह जारी रहती हैं - हटाए गए फ़ाइल को वास्तव में तब तक नहीं हटाया जाता है जब तक कि सभी प्रक्रियाएं उस फ़ाइल को बंद न कर दें।


3
अच्छा उत्तर। लेकिन cp --remove-destinationGNU कोरुटिल्स में भी देखें ।
पीटर आइसेनट्राट

7

तकनीकी तौर पर, के बीच का अंतर install -cऔर cpवह यह है कि installसेट करने के लिए लक्ष्य फ़ाइल की अनुमतियों rwxr-xr-xcpस्रोत फ़ाइल की अनुमतियाँ को umask को संरक्षित करता है। ये डिफ़ॉल्ट व्यवहार विभिन्न स्थितियों में उपयोगी होते हैं। जाहिर है, सभी विकल्प है कि दोनों के साथ cpऔर installप्रस्ताव आजकल, कार्यक्षमताओं कन्वर्ज्ड है।

आजकल, installआमतौर पर cpहर जगह , मेकफाइल्स में उपयोग किया जाता है। यह अंतर कभी-कभी उपयोगी होता है क्योंकि कुछ ऑपरेटिंग सिस्टम या इंस्टॉलेशन सिस्टम आपको installइंस्टॉल किए गए पैकेज को पंजीकृत करने के लिए प्रोग्राम में हुक करने की अनुमति देते हैं। आधुनिक पैकेज प्रबंधन सिस्टम इस तरह के अप्रचलित बनाते हैं, लेकिन कुछ लोग अभी भी इसका उपयोग करते हैं। इसके अलावा, लक्ष्य फ़ाइल अनुमतियों को एक ही गो में सेट करने की संभावना बहुत सुविधाजनक है।


4

installउपयोगिता, इसके आधार पर, एक कल्पना है cp। लेकिन एक उपकरण के रूप में विशेष रूप से स्थापित करता है इसमें कुछ विशेषताएं होती हैं जो cpनहीं होती हैं। मेरे /usr/bin/installGNU coreutils से न केवल प्रतियां, लेकिन यह भी आर्ग झंडे (बचत के रूप में perms / स्वामित्व को बदल सकते हैं chgrp, chown, chmodआमंत्रण) पट्टी डिबग जानकारी (एक बचत के लिए एक विकल्प stripमंगलाचरण) है और यह भी SELinux संदर्भों के लिए कुछ मोजो।

यह सिर्फ सॉफ्टवेयर इंस्टॉल के लिए उपयोगी कार्रवाई की सुविधा प्रदान करता है। कोई भी जीवन में परिवर्तन नहीं कर रहे हैं, सभी उपयोगी हैं, और अपनी स्क्रिप्ट को क्लीनर बनाते हैं।

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