find . -mindepth 1 -type d -exec echo cp index.php {} \;
O comando acima copia o arquivo index.php do seu diretório atual para todos os subdiretórios, recursivamente - mas não imediatamente.
Quando você tiver certeza de que ele imprime todos os comandos de cópia corretos, remova o echo e execute-o. echo é apenas uma proteção para mostrar a você o que todo o comando faria antes de realmente fazer algo que você talvez não queira.
Outra abordagem interessante - obrigado @RedGrittyBrick - seria link simbólico dos arquivos em vez de simplesmente copiar eles. Dessa forma, os arquivos index.php nos subdiretórios seriam apenas um atalho, por assim dizer, para o diretório raiz e não duplicados. Para fazer isso, no comando acima, altere cp para ln -s . Dessa forma, quando você altera o arquivo "master" index.php , todos os outros nos subdiretórios ainda apontam para ele e, portanto, também mudam automaticamente quando visualizados.
Para completar, todo o comando, quebrado, funciona assim:
-
find ., pesquisa no diretório atual -
-mindepth 1, indo pelo menos um diretório de profundidade -
-type d, localize apenas diretórios -
-exec …, execute o comandoecho cp index.php {}, onde{}é substituído por todos os diretórios encontrados. Este comando é chamado várias vezes, uma vez para cada subdiretório.