कमांड खोजने के साथ मिली कई फाइलों की अनुमतियां कैसे बदलें?


11

मेरे पास कई फाइलों के साथ एक निर्देशिका है। फाइलों के एक 755हिस्से में अनुमतियां हैं और दूसरे हिस्से में 644अनुमतियां हैं। मैं 755अनुमति के साथ फ़ाइलों को परिवर्तित करना चाहते हैं 644। मैंने इसे निर्देशिका से स्वयं चलाकर निम्न पंक्ति का प्रयास किया है:

find . -perm 755 -exec chmod 644 {}\;

हालाँकि, परिणामस्वरूप अनुमति केवल निर्देशिका के लिए ही बदल गई और इसे वापस बदलने के बाद मुझे पता चला कि फ़ाइलें अनुमतियाँ अपरिवर्तित रहीं। क्या मुझे कुछ याद है?


आपकी कमांड निर्देशिका से निष्पादन योग्य बिट को हटाती है, जिससे इसे chdir करना असंभव है और इसमें मौजूद फ़ाइलों को देखें। इसलिए कमांड काम नहीं कर रहा है। find ./ -type f -exec chmod -x {} \;इसके बजाय कोशिश करें ।
शादुर

जवाबों:


17

ठीक है, ऐसा लगता है कि मुझे समस्या मिल गई है। ऐसा लगता है कि और के बीच एक अनिवार्य स्थान होना चाहिए , इसलिए कमांड इस तरह दिखाई देगी:{}\;

find . -perm 755 -exec chmod 644 {} \;

बजाय:

find . -perm 755 -exec chmod 644 {}\;

साथ ही निर्देशिका अनुमतियाँ बदलने के साथ समस्या को एक -type fध्वज जोड़कर हल किया जा सकता है , इसलिए यह निम्नानुसार दिखेगा:

find . -type f -perm 755 -exec chmod 644 {} \;

6
आप उपप्रकारों की संख्या को कम करने के +बजाय उपयोग कर सकते हैं \;
केविन

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