मैं केवल इस उत्तर को @Gilles द्वारा बहिष्कृत पथों में इंगित करना चाहूंगा जो अनुमतियों के बारे में शिकायत करते हैं - यूनिक्स और लिनक्स स्टैक एक्सचेंज ; इसमें मूल रूप से एक निर्माण शामिल है findजो इसे अपठनीय निर्देशिकाओं में नहीं उतरता है, और इस अर्थ में, शायद थोड़ा तेज भी है।
यह मेरे लिए काम करने लगता है:
GNU findया किसी अन्य के साथ findजो समर्थन करता है -readableऔर -executableभविष्यवाणी करता है:
find / -type d ! \( -readable -executable \) -prune -o -type f -name netcdf -print
या यह भी:
find / -type d ! -perm -g+r,u+r,o+r -prune -o -type f -name 'netcdf' -print
किसी कारण के लिए, मुझे सभी को जोड़ना होगा g+r,u+r,o+r(उसके लिए शॉर्टकट a+r), अन्यथा यदि उनमें से एक को छोड़ दिया जाता है, तो भी मुझे "अनुमति अस्वीकृत" हिट मिल सकती है।
यहाँ मैं कैसे देखते हैं कि यह (ध्यान दें में खराबी है -a(और) ऑपरेटर में findहै दो विधेय के बीच निहित ):
find / # find starting from path /
-type d # match type is directory
! -perm -a+r # (and) match not permissions of `r`ead present
-prune # ignore what matched above and do not descend into it
-o # or (whatever didn't match above)
-type f # match type is file
-name 'netcdf' # (and) match name is 'netcdf'
-print # print what matched above
ध्यान दें कि आखिरी के बिना -print, मुझे दिखाए गए कुछ अतिरिक्त आइटम मिलते हैं (जिनका कोई लेना-देना नहीं है -name 'netcdf'); यह -printसुनिश्चित करता है कि केवल नाम मिलान मुद्रित हो (यदि कोई हो)।