जवाबों:
एक महत्वपूर्ण अंतर यह है कि cp गंतव्य फ़ाइल को काट देता है और गंतव्य फ़ाइल में स्रोत से डेटा की प्रतिलिपि बनाना शुरू कर देता है।
दूसरी ओर स्थापित करें, पहले गंतव्य फ़ाइल को हटा देता है।
यह महत्वपूर्ण है क्योंकि यदि गंतव्य फ़ाइल पहले से ही उपयोग में है, तो खराब चीजें हो सकती हैं, जो उस फ़ाइल का उपयोग कर रहा है यदि आप उसके cp
ऊपर एक नई फ़ाइल बनाते हैं । उदाहरण के लिए, एक निष्पादन योग्य है जो चल रहा है को विफल कर सकता है। एक डेटा फ़ाइल को रौंदना जो एक मौजूदा प्रक्रिया पढ़ने / लिखने में व्यस्त है, जिससे बहुत अजीब व्यवहार हो सकता है। यदि आप गंतव्य फ़ाइल को पहले हटाते हैं, जैसा कि स्थापित करता है, तो चीजें बहुत कुछ सामान्य की तरह जारी रहती हैं - हटाए गए फ़ाइल को वास्तव में तब तक नहीं हटाया जाता है जब तक कि सभी प्रक्रियाएं उस फ़ाइल को बंद न कर दें।
तकनीकी तौर पर, के बीच का अंतर install -c
और cp
वह यह है कि install
सेट करने के लिए लक्ष्य फ़ाइल की अनुमतियों rwxr-xr-x
। cp
स्रोत फ़ाइल की अनुमतियाँ को umask को संरक्षित करता है। ये डिफ़ॉल्ट व्यवहार विभिन्न स्थितियों में उपयोगी होते हैं। जाहिर है, सभी विकल्प है कि दोनों के साथ cp
और install
प्रस्ताव आजकल, कार्यक्षमताओं कन्वर्ज्ड है।
आजकल, install
आमतौर पर cp
हर जगह , मेकफाइल्स में उपयोग किया जाता है। यह अंतर कभी-कभी उपयोगी होता है क्योंकि कुछ ऑपरेटिंग सिस्टम या इंस्टॉलेशन सिस्टम आपको install
इंस्टॉल किए गए पैकेज को पंजीकृत करने के लिए प्रोग्राम में हुक करने की अनुमति देते हैं। आधुनिक पैकेज प्रबंधन सिस्टम इस तरह के अप्रचलित बनाते हैं, लेकिन कुछ लोग अभी भी इसका उपयोग करते हैं। इसके अलावा, लक्ष्य फ़ाइल अनुमतियों को एक ही गो में सेट करने की संभावना बहुत सुविधाजनक है।
install
उपयोगिता, इसके आधार पर, एक कल्पना है cp
। लेकिन एक उपकरण के रूप में विशेष रूप से स्थापित करता है इसमें कुछ विशेषताएं होती हैं जो cp
नहीं होती हैं। मेरे /usr/bin/install
GNU coreutils से न केवल प्रतियां, लेकिन यह भी आर्ग झंडे (बचत के रूप में perms / स्वामित्व को बदल सकते हैं chgrp
, chown
, chmod
आमंत्रण) पट्टी डिबग जानकारी (एक बचत के लिए एक विकल्प strip
मंगलाचरण) है और यह भी SELinux संदर्भों के लिए कुछ मोजो।
यह सिर्फ सॉफ्टवेयर इंस्टॉल के लिए उपयोगी कार्रवाई की सुविधा प्रदान करता है। कोई भी जीवन में परिवर्तन नहीं कर रहे हैं, सभी उपयोगी हैं, और अपनी स्क्रिप्ट को क्लीनर बनाते हैं।
cp --remove-destination
GNU कोरुटिल्स में भी देखें ।