С GNU chmod
(в Ubuntu) вариант с одной командой (начиная с текущего каталога):
chmod -R -x+X .
Объяснение:
-R
- работать рекурсивно
-x
- удалить исполняемые флаги для всех пользователей
+X
- установить исполняемые флаги для всех пользователей, если это каталог
В этом случае заглавная X
применяется только к каталогам, потому что все исполняемые флаги были очищены -x
. В противном случае +X
устанавливает исполняемый флаг (ы) также, если флаг был изначально установлен для любого из пользователей, групп или других.
С BSD chmod
(который присутствует в Mac OS X) вы должны сделать это отдельно двумя командами:
sudo chmod -R -x * && sudo chmod -R +X *
(Если вы также хотите включить скрытые файлы в основной каталог, вам, вероятно, нужно изменить * на. (Точка), но это не проверено.)