मुद्दा है, कि *
अपने खोल से व्याख्या हो रही है और अपने वर्तमान कार्यशील निर्देशिका में होने वाला TEST_FILE
नाम की एक फ़ाइल के लिए विस्तार हो रहा है, ताकि आप आदेश TEST_FILE
नामित निष्पादित करने के लिए find
कह रहे हैं जो अस्तित्व में नहीं है मुझे यकीन नहीं है कि आप उस *
के साथ पूरा करने का प्रयास कर रहे हैं, आपको बस इसे हटा देना चाहिए।
इसके अलावा, आपको -exec program '{}' \;
के बजाय idiom -exec program '{}' \+
का उपयोग करना चाहिए ताकि find
प्रत्येक फ़ाइल के लिए एक नई प्रक्रिया को फोर्क न करे। ;
के साथ, प्रत्येक फ़ाइल के लिए एक नई प्रक्रिया को फोर्क किया जाता है, जबकि +
के साथ, यह केवल एक प्रक्रिया को फोर्क करता है और एक ही कमांड लाइन पर सभी फ़ाइलों को पास करता है, जो chmod
जैसे सरल कार्यक्रमों के लिए अधिक कुशल है।
अन्त में, chmod
, -R
ध्वज के साथ अपने आप ही पुनरावर्ती परिवर्तन ऐसा कर सकते हैं जब तक आप विशिष्ट फ़ाइलों के लिए खोज करने की जरूरत है, तो बस इस कार्य करें: के लिए
:
chmod -R 777 /Users/Test/Desktop/PATH
स्रोत
2010-09-30 20:26:06
वे दो समान दिखते हैं। O_o –
यदि मैक ऑपरेशन के बारे में शिकायत नहीं करता है, तो सुडो –