Eu tenho um diretório com vários arquivos. Parte dos arquivos tem 755
permissões e a outra parte possui 644
permissões. Eu gostaria de converter os arquivos com 755
permissões para 644
. Eu tentei a seguinte linha, executando-o no próprio diretório:
find . -perm 755 -exec chmod 644 {}\;
No entanto, como resultado, a permissão mudou apenas para o próprio diretório e, depois de alterá-lo, descobri que as permissões dos arquivos permaneciam inalteradas. Perco alguma coisa?
shell
permissions
find
Eugene S
fonte
fonte
find ./ -type f -exec chmod -x {} \;
vez disso.Respostas:
Ok, parece que eu encontrei o problema. Parece que deve haver um espaço obrigatório entre o
{}
e\;
, por isso, o comando será semelhante a este:Ao invés de:
Além disso, o problema de alterar as permissões do diretório pode ser resolvido com a adição de um
-type f
sinalizador, para que fique da seguinte maneira:fonte
+
vez de\;
reduzir o número de subprocessos criados.-type d
encontrará diretórios.-type f
encontrará arquivos.