Код
find / -name netcdf
Выход
find: `/root/.dbus': Permission denied
find: `/root/.gconf': Permission denied
find: `/root/.gconfd': Permission denied
find: `/root/.gnome': Permission denied
find: `/root/.gnome2': Permission denied
find: `/root/.gnome2_private': Permission denied
Ответы:
Эти сообщения отправляются в stderr, и в основном в этом выходном потоке обычно видны только эти сообщения. Вы можете закрыть его или перенаправить в командной строке.
или
Кроме того, если вы собираетесь искать в корневом каталоге (/), то очень хорошо, когда процесс приятен, так как find не использует все ресурсы.
Это уменьшает приоритет процесса, позволяя другим процессам уделять больше времени процессору. Конечно, если больше ничего не использует процессор, он ничего не делает. :) Чтобы быть техническим, значение NI (видно из
ps -l
) увеличивает значение PRI. Более низкие значения PRI имеют более высокий приоритет. Сравнитеps -l
сnice ps -l
.источник
Я просто хотел бы указать на этот ответ @Gilles в разделе Исключить пути, которые заставляют находить жалуются на разрешения - Unix & Linux Stack Exchange ; он в основном включает в себя конструкцию,
find
которая не позволяет спускаться с нечитаемых каталогов, и в этом смысле, вероятно, также немного быстрее.Казалось бы, это работает для меня:
или также это:
По какой-то причине мне нужно добавить все
g+r,u+r,o+r
(ярлык для этого естьa+r
), в противном случае, если один из них пропущен, я все равно могу получить «Отказано в доступе».Вот расстройство того , как я вижу (обратите внимание на
-a
оператор (а) вfind
этом неявном между двумя предикатами ):Обратите внимание, что без последнего
-print
я получаю некоторые дополнительные предметы (которые не имеют ничего общего с-name 'netcdf'
); что-print
гарантирует , что печатаются только имя спички (если таковые имеются).источник
find(1)
не может спуститься в каталог, он не будет. Так что проверка заранее, может ли она или нет, просто добавит работу (проверьте дважды) и тем самым замедлит ее.find
статус выхода из России, потому что эти ошибки прав доступа приводят кfind
выходу с ненулевым статусомИспользуйте
locate(1)
вместо:Он покажет вам только те файлы, которые видит ваш пользователь.
источник
updatedb
работает регулярно. Это не относится ко всем системам Linux.