Como alterar as permissões de vários arquivos encontrados com o comando find?

8

Eu tenho um diretório com vários arquivos. Parte dos arquivos tem as permissões 755 e a outra parte tem permissões 644 . Gostaria de converter os arquivos com 755 permissions em 644 . Eu tentei a seguinte linha, executando-o a partir do próprio diretório:

find . -perm 755 -exec chmod 644 {}\;

No entanto, como resultado, a permissão mudou apenas para o diretório em si e depois de alterá-lo de volta, descobri que as permissões de arquivos permaneciam inalteradas. Eu sinto falta de algo?

    
por Eugene S 22.05.2012 / 09:49

1 resposta

11

Ok, parece que encontrei o problema. Parece que deve haver um espaço obrigatório entre o {} e o \; , então o comando ficará assim:

find . -perm 755 -exec chmod 644 {} \;

Em vez de:

find . -perm 755 -exec chmod 644 {}\;

Além disso, o problema com a alteração das permissões do diretório pode ser solucionado com a adição de um -type f , então será exibido da seguinte forma:

find . -type f -perm 755 -exec chmod 644 {} \;
    
por 22.05.2012 / 10:07