Рекурсивный chmod только для каталогов
Часто сталкивался с ситуацией, когда для каталогов нужно выставить права 755, а для файлов — 644. Обычно решал так:
$ chmod -R 644 ./
а далее проставлял 755 вручную для каталогов, но это неудобно, особенно при глубокой вложенности. Сегодня нашел другое решение: можно формировать список файлов с помощью find, а затем вызывать chmod с помощью xargs. Т.е. получаем:
$ chmod -R 755 ./
$ find ./ -type f -print | xargs chmod 644
Если требуется наоборот, выполнить команду только для каталогов, то после -type нужно указать d вместо f. Важно так же помнить про права доступа (т.е. если сначала поставить всем 644, а потом пытаться повысить каталогам до 755, могут начаться ошибки доступа).
chmod -R a-x+rX имя_каталога/
Будьте осторожны если в именах каталогов есть пробелы - может глючить,к счастью не фатально,просто что-то не обработается.
"Шаманское заклинание" подсказал один старый юниксоид лет двадцать назад.<br />