एक निर्देशिका में सभी निर्देशिकाओं का चयन करने के लिए वाइल्ड कार्ड क्या है


13

मैं फ़ाइलों को छोड़कर एक निर्देशिका में सभी निर्देशिकाओं के लिए चिपचिपा सा सेट करना चाहता हूं। क्या ऐसा करने के लिए कोई वाइल्ड कार्ड है?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

जवाबों:


24

*/केवल निर्देशिकाओं का मिलान करने के लिए उपयोग करें ।

chmod g+s /var/www/*/

सभी निर्देशिकाओं और उपनिर्देशिकाओं के उपयोग का मिलान करने के लिए **/*/( globstarबश में आपने सक्षम किया है):

shopt -s globstar
chmod g+s /var/www/**/*/

2
अच्छी तरह से काम करता है, लेकिन जैसे ही विस्तारित कमांड लाइन की लंबाई कमांड लाइन की लंबाई सीमा से अधिक हो जाएगी। -> cyberciti.biz/faq/argument-list-too-long-error-solution
बोंसी स्कॉट

1
हां, मैं इससे अच्छी तरह वाकिफ हूं। हालांकि, ओपी ने "वाइल्डकार्ड" के लिए कहा।
डोगबैन

हाँ! मैंने वाइल्डकार्ड, थैंक्यू के लिए कहा।
नेकटविली

मुझे पता है कि उसने वाइल्डकार्ड-समाधान के लिए कहा था। मैंने केवल यह बताया है कि यह किसी परिस्थिति में विफल होगा। अन्य कि, यहाँ देखने के लिए कोई critc नहीं है (I # ve अभी तक टिप्पणी की गई है, क्योंकि यह ज्यादातर मामलों के लिए एक काम कर समाधान है) ^ ^
Bonsi Scott

13

आप नीचे दिए गए उदाहरण देख सकते हैं

find /var/www/ -type d -exec chmod g+s {} \;

3
यह अच्छा है, फिर भी एक वाइल्डकार्ड नहीं है - लेकिन इसका बहुत अधिक निर्देशिकाओं के कारण विफल नहीं होने पर फायदा है
बोन्सी स्कॉट

ध्यान दें कि यह डिफ़ॉल्ट रूप से पुनरावर्ती है। यदि आप केवल अपने कमांड को शीर्ष स्तर पर लागू करना चाहते हैं तो आप -maxdepth findतर्क का उपयोग कर सकते हैं ।
क्रिश हार्पर

0

यह एक वाइल्डकार्ड नहीं है तो मैं एक गैर उत्तर के लिए क्षमा चाहते हैं, लेकिन ...
ls -al |grep ^d | awk '{print$NF}'वर्तमान dir में सभी निर्देशिका सूची जाएगा, यदि आप प्रक्रिया के लिए चाहते तय करने के लिए आप पर निर्भर है .और ..या उन्हें निकाल देते हैं।

echo $(ls -al |grep ^d | awk '{print$NF}') यह एक वाइल्डकार्ड की तरह व्यवहार करता है


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