install एक निर्देशिका में फ़ाइलों को कॉपी करने के अलावा कई सुविधाएँ प्रदान करता है।
-sविकल्प एक निष्पादन, बचत अंतरिक्ष से प्रतीक तालिका को हटा
-mविकल्प की अनुमति बिट्स सेट। डेवलपर की निर्देशिका में बैठी फाइलें उसके umask के अधीन बनाई गईं, जो दूसरों को उन्हें निष्पादित करने से रोक सकती हैं। install -m 755 file1 /usr/local/binयह सुनिश्चित करता है कि हर कोई फ़ाइल को निष्पादित कर सकता है, जो संभावित रूप से डेवलपर एक साझा निर्देशिका में फ़ाइल के लिए चाहता है।
-oऔर -gविकल्पों के मालिक और समूह की स्थापना की। साथ cp, मालिक और गंतव्य फ़ाइल के समूह uid करने के लिए सेट किया जाएगा और जो कोई भी भाग गया के gid cp, और साथ cp -p, मालिक और गंतव्य फ़ाइल के समूह का निर्माण निर्देशिका, न तो जो पराक्रम का में फ़ाइल के रूप में ही होगा डेवलपर क्या चाहता है। wallकार्यक्रम समूह में होने की जरूरत है tty, screenकार्यक्रम समूह होने की जरूरत है utmp, आदि
- यह उन कमांडों की संख्या को कम करता है जिन्हें मेकफिल रेसिपी में डालने की आवश्यकता होती है।
install -s -m 755 -o root -g bin file1 file2 lib/* $(DESTDIR)चार आदेशों की तुलना में अधिक संक्षिप्त है cp, strip, chmod, और chown।
अंतिम बुलेट बिंदु की संभावना है कि installकमांड का आविष्कार क्यों किया गया था और कई मेकफाइल्स इसका उपयोग क्यों करते हैं।
Installहालांकि, हमेशा इस्तेमाल नहीं किया जाता है। मैंने देखा है cp -r lib $(DESTDIR)/libजब कॉपी करने के लिए सामान से भरा एक पूरा पेड़ होता है, और ./install.shअगर डेवलपर कस्टम स्क्रिप्ट का उपयोग करना पसंद करता है। कई संकुल install.shएक्स 11 के साथ आने वाले एक से व्युत्पन्न है, जो कि एक निर्दिष्ट तरीके से गंतव्य फ़ाइलों का नाम बदलने के लिए (रूपांतर) विकल्प का installसमर्थन करता है -t।