Quero definir a permissão 755 em todos os arquivos e subdiretórios em um diretório específico, mas quero executar o chmod 755 apenas para os componentes que não têm permissão 755.
find /main_directory/ -exec chmod 755 {} \;
Se o find
comando retornar uma lista longa, isso levará muito tempo. Eu sei que posso usar o comando stat para verificar a permissão no nível do arquivo Octal de cada componente e, em seguida, usar if-else para alternar a permissão do arquivo, mas existe uma abordagem de linha única usando find
e xargs
para verificar primeiro qual permissão o arquivo / diretório possui e, em seguida, use chmod
para alterá-lo para 755 se estiver definido para outra coisa.
u+rw,go+r,go-w,ugo+X
- observe a capital.