É provavelmente mais fácil usar o comando find
, que permite pesquisar recursivamente pela árvore de diretórios. Por exemplo, se você quisesse encontrar arquivos que eram somente de leitura, poderia digitar
find <specify location> -type f -perm -444
Para arquivos pertencentes a um usuário específico, você pode usar
find <location> -type f -user mike
Para arquivos executáveis (para todos) você pode usar
find <location> -type f -perm -777
Para aqueles que são executáveis e somente leitura para todos, você usaria 555 no lugar de 777 no exemplo acima. Você também pode procurar por arquivos que pertençam a um grupo substituindo -user mike
por -group mike
.
Para negar os termos de pesquisa e pesquisar exatamente o oposto, você pode usar um ponto de exclamação assim:
find <location> -type f ! -perm -444
Observação: a especificação de um traço antes das permissões (por exemplo, -perm -444
) significa que todos os arquivos que possuem um sinalizador somente leitura serão encontrados, e não apenas aqueles que são 444; para procurar exatamente 444 e apenas isso, basta remover o traço (por exemplo, -perm 444
).
Observação 2: combinações de permissões também podem ser solicitadas usando -a
para e e -o
para ou; por exemplo, para encontrar exatamente essas permissões, digite:
find <location> -type f -perm 744 -o -perm 666
Os diretórios podem ser pesquisados com -type d
.
Veja man find
para as outras permutações disponíveis.