मैं केवल इस उत्तर को @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
सुनिश्चित करता है कि केवल नाम मिलान मुद्रित हो (यदि कोई हो)।