find . -type f | xargs ls -l | grep -v rw-r--r--
"encontre todos os arquivos no diretório atual, passe para" ls -l "para listar seus detalhes e verifique a saída de ls
para todas as linhas não (a opção -v para grep nega a correspondência) contendo "rw-r - r--" e para diretórios:
find . -type d | xargs ls -l | grep -v drw-r--r--
Se você quiser digitalizar outro diretório, substitua "." com ele, como:
find /path/to/directory -type f | xargs ls -l | grep -v rw-r--r--
e se alguns dos nomes de arquivos / diretórios contiverem espaços, use as opções "use strings delimitadas por 0" em find e xargs para evitar erros:
find . -type f -print0 | xargs -0 ls -l | grep -v rw-r--r--
Além disso, você pode remover a opção -v
do grep para encontrar arquivos / diretórios que fazer correspondam, se você quiser listá-los como uma verificação de integridade.
Usar find
varrerá subdiretórios também por padrão. Para varrer apenas um diretório e não seus filhos, você poderia apenas enviar a saída de ls -l
a grep
em vez de usar find
e xargs
.
Quando você executar chmod
, lembre-se de que você pode especificar a opção -v
para listar o que ele faz e o que não muda ao realizar a operação - isso pode ser útil para garantir a si mesmo que você deu o comando certo.