আমি এই উত্তরটি উত্তর দিতে চাই, @ গিলস দ্বারা বর্জনিত পথগুলিতে অনুমতিগুলি সম্পর্কে অভিযোগ খুঁজে পাওয়া যায় - ইউনিক্স এবং লিনাক্স স্ট্যাক এক্সচেঞ্জ ; এটি মূলত এমন একটি নির্মাণের সাথে জড়িত 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
হয় দুই predicates মধ্যে অন্তর্নিহিত ):
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
নিশ্চিত করে যে শুধুমাত্র নাম মেলে ছাপা হয় (যদি থাকে)।