Хорошо я не знаю об установке никаких конкретных настроек по умолчанию, но можно отключить мастер первого показа путем помещения следующего в reg файл и импорта ее к терминальному серверу:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main] "DisableFirstRunCustomize" =dword:00000001
Использовать find / -readable -print0 | xargs -0 grep -H "some_str"
вместо grep -r
. (Требует GNU find
, но grep -r
GNUish, таким образом, я подозреваю, что это не проблема.)
Но на самом деле не столь "очевидно", что это быстрее; grep -r
позволяет open()
вызов узнает, что Вы не можете считать его, тогда как find
версия имеет к stat()
во-первых, затем grep
делает open()
— и самая дорогая часть этого, для файлов, которые не читаемы, является ядром, преобразовывающим пути в узлы индекса файловой системы. (На самом деле поиск читаемых файлов будет объемом времени выполнения иначе для файлов любого значительного размера.), Довольно вероятно, более быстрый подход должен только добавить 2>/dev/null
к grep -r
таким образом, нет потерянных сообщений ошибки печати никакого времени для замедления терминалов.
Вы могли использовать grep -s
проигнорировать сообщения о нечитабельных файлах.
Печать сообщений об ошибках является единственной вещью, которая могла вызвать замедление, это не похоже на чтения grep целый файл и при затем отбрасываниях все результаты, потому что это на самом деле не имело прав считать его.
Можно попробовать, найдите:
find / -perm o=r -or -user <user> -exec grep whatever '{}' \;
Howewer, эта команда не будет искать в файлах, в которые у Вас есть разрешение через группу.
ОБНОВЛЕНИЕ: существует находка - читаема, как предложено другим ответом.
Вот интересный способ сделать это с Параллелью GNU, предполагая, что Ваша находка (1) не поддерживает -readable
флаг:
find / -type f 2>/dev/null | parallel -m "grep blah {}"
-m
опция быть параллельным заставляет его наполнить как можно больше файлов в каждый вызов к grep, который более эффективен что, просто захватив один файл за один раз.
Я понимаю, что проблема с этим - это, выбросит другой find
ошибки помимо проблем полномочий. Я подозреваю, что может быть способ работать вокруг этого с опцией находки -depth
но я еще не исследовал это.
Было бы интересно сравнить find / grep
по сравнению с. grep -r
по сравнению с. parallel
подходы к многоядерной системе и видят, который быстрее.