Provavelmente é mais fácil usar o find
comando, que permite pesquisar recursivamente na árvore de diretórios. Por exemplo, se você deseja encontrar particularmente arquivos que são somente leitura, digite
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 pertencem a um grupo, substituindo -user mike
para -group mike
.
Para negar os termos de pesquisa e, portanto, procurar exatamente o oposto, use um ponto de exclamação como este:
find <location> -type f ! -perm -444
Nota: 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 e somente isso 444, basta remover o traço (por exemplo -perm 444
).
Nota2: Combinações de permissões também podem ser buscadas usando -a
for e -o
for for; por exemplo, para encontrar exatamente essas permissões, digite:
find <location> -type f -perm 744 -o -perm 666
Diretórios podem ser pesquisados com -type d
.
Veja man find
para as outras permutações disponíveis.
-444
e444
-perm -444
localiza arquivos que têmread
permissão, não aqueles que são somente leitura (ou seja, tendo apenasread
e sem outras permissões).