Com variante de comando único do GNU chmod (no Ubuntu) (iniciando no diretório atual):
chmod -R -x+X .
Explicação:
-
-R- opera recursivamente -
-x- remove flags executáveis para todos os usuários -
+X- definir flags executáveis para todos os usuários, se for um diretório
Nesse caso, o capital X se aplica somente aos diretórios porque todos os sinalizadores executáveis foram limpos por -x . Caso contrário, +X definirá os sinalizadores de executável também se o sinalizador foi originalmente definido para qualquer usuário, grupo ou outros.
Com o BSD chmod (presente no Mac OS X), você precisa fazê-lo separadamente em dois comandos:
sudo chmod -R -x * && sudo chmod -R +X *
(Se você quiser incluir arquivos ocultos no diretório principal, provavelmente precisará alterar * para. (ponto), mas não foi testado.)