У этого должно быть намного меньше накладных расходов:
find . -type d -exec chmod ug+x {} +
(Заменено \;
на +
.) Это делает то же самое, но вызывает chmod
со многими каталогами одновременно, что устраняетнакладные расходы при вызове chmod
несколько раз.
со страницы man:
-exec command {} +
Этот вариант действия -exec
запускает указанную команду для выбранных файлов, нокомандная строка строится путем добавления каждого выбранного имени файла в конце;общее количество вызовов команды будет намного меньше, чем количество совпавших файлов.Командная строка строится почти так же, как xargs создает свои командные строки.В команде допускается только один экземпляр {}
.Команда выполняется в начальном каталоге.
Это очень похоже на это:
find . -type d -print0|xargs -0 chmod ug+x