Sadece bu cevabı @Gilles'in İzinleri hakkında şikayette bulunma yollarını Hariç Tutma yollarında belirtmesini istiyorum - Unix ve Linux Stack Exchange ; temel olarak find
okunamayan dizinlere iniş yapmamasını sağlayan bir yapı içerir ve bu anlamda muhtemelen biraz daha hızlıdır.
Bu benim için işe yarayacak gibi görünüyor:
GNU ile find
veya başka herhangi bir find
desteklediğini -readable
ve -executable
yüklemler'ıN:
find / -type d ! \( -readable -executable \) -prune -o -type f -name netcdf -print
veya ayrıca bu:
find / -type d ! -perm -g+r,u+r,o+r -prune -o -type f -name 'netcdf' -print
Bazı nedenlerden dolayı hepsini eklemem gerekiyor g+r,u+r,o+r
(bunun için kısayol a+r
), aksi halde bir tanesi dışarıda kalırsa, hala "İzin Reddedildi" isabetlerini alabilirim.
İşte bunu nasıl gördüğümün bir dökümü (içinde -a
(ve) operatörünün iki yüklem arasında kapalıfind
olduğuna dikkat edin ):
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
Sonuncusu olmadan, -print
gösterilen bazı ekstra öğeleri aldığımı (bununla ilgisi olmayan -name 'netcdf'
) alacağımı unutmayın ; -print
Sadece isim maçlar basılır olmasını sağlar (eğer varsa).