2012-10-29 33 views
20

मैं सभी फाइलों (और निर्देशिकाओं) को एक निश्चित निर्देशिका के तहत बनाना चाहता हूं जो बिना किसी फ़ाइल को अपने स्वयं के chmod किए बिना पठनीय है। यह बहुत अच्छा होगा अगर यह एक बार फिर से करने के लिए एक विकल्प है (फ़ोल्डर्स और चमोड 666 के तहत सभी फाइलें देखें)लिनक्स पर पढ़ने योग्य निर्देशिका दुनिया के अंतर्गत सभी फाइलें कैसे बनाएं?

+1

@PedroRomano कैसे क्या तुम जानते हो इस एक एक बैश स्क्रिप्ट लिखने के लिए नहीं है? –

+0

@ एच 2CO3: ऐसा प्रतीत नहीं होता है कि मैं किस प्रकार के प्रश्न पूछ सकता हूं?] (Http://stackoverflow.com/faq#questions)। शीर्षक या पाठ में कहीं भी _Bash_ का उल्लेख नहीं है। एक 'bash' टैग नहीं है। लेकिन, यह सिर्फ एक टिप्पणी है, है ना? –

+1

@Rorchackh क्या आप केवल पढ़ने योग्य ** फाइलें बनाना चाहते हैं ** और निर्देशिकाओं को बहिष्कृत करना चाहते हैं, या जब आपने "सभी फाइलें" लिखीं तो "निर्देशिका में सभी प्रविष्टियां" का मतलब था? मुझे लगता है कि बाद वाला एक लागू होता है। –

उत्तर

25

man 3 chmod में वह जानकारी है जो आप ढूंढ रहे हैं।

chmod -R +r directory 

-R विकल्प chmod बताता रिकर्सिवली संचालित करने के लिए।

+2

ऐतिहासिक ''r' * रिकर्सिव * ऑपरेशन के लिए है और '-R' * खतरनाक रिकर्सिव * के लिए है। यदि 'chmod' और 'chown' के लिए पूंजीकृत' आर' का उपयोग किया जाता है, क्योंकि हम' find' का उपयोग करने जैसे अधिक सटीक संचालन का उपयोग करना पसंद करते हैं। मेरा जवाब देखें! –

7

एक निर्देशिका लिंक शामिल और/या माउंट बाँध सकता है, find के उपयोग क्या करना है और क्या करना है नहीं करने के लिए एक बेहतरीन विवरण के स्तर को सुनिश्चित कर सकता है ....

find directory \(-type f -o -type d \) -print0 | 
    xargs -0 chmod ugo+r 

पर्वत के नीचे रास्तों बाहर करने के लिए बताते हैं:

find directory \(-type f -o -type d \) ! -name '.htaccess' -print0 | 
    xargs -0 chmod ugo+r