Altera a permissão recursivamente para todo o diretório e exclui apenas um diretório

0

Eu gostaria de alterar a permissão recursivamente todos os arquivos e diretórios, mas excluir alguns diretórios.

find . -name user -prune -o -type d -exec chmod 755 {} \;

Mas usando isso, é só alterar os diretórios, mas não recursivamente. O conteúdo dos diretórios não muda.

enquanto,

find . -name user -prune -o -type d -exec chmod -R 755 {} \;

Isso alterará todos os diretórios e seu conteúdo e incluirá o diretório de usuário que desejo excluir.

Então, como alterar a permissão recursivamente de todos os arquivos e diretórios, mas excluir o diretório do usuário?

Obrigado antecipadamente.

    
por wina 01.09.2016 / 04:13

1 resposta

1

Isso pode ser feito com o parâmetro -path.

find . -path dir -prune -o -name user -type d -exec chmod -R 755 {} \;

Se você deseja ignorar vários diretórios, você pode fazer isso.

find . \( -path dir1 -o -path dir2 -o -path dir3 \) -prune -o -name user -type d -exec chmod -R 755 {} \;
    
por 01.09.2016 / 04:43

Tags