Dois métodos vêm à mente, find
e tree
. Dos dois, acho que tree
se encaixa melhor na sua pergunta.
Encontre
find
tem a vantagem de ser um pacote básico que pode ser encontrado em qualquer distribuição linux. Uma desvantagem é que não irá gerar uma visão em árvore. Nem grep
it para erros será fácil. Em vez disso, adicione os testes -perm
apropriados. O exemplo a seguir localizará todos os diretórios em /
com permissão de usuário, grupo e outras permissões de leitura e enviará um erro padrão para /dev/null
find / -type d -perm /u=r -perm /g=r -perm /o=r 2>/dev/null
Árvore
Embora tree
não possa ser instalado por padrão, ele está nos repositórios. Cria uma visão de árvore. Se o usuário executando tree
não tiver permissão de leitura, um simples grep -v error
removerá o diretório da saída. No entanto, remover os erros provavelmente deixará uma formatação estranha. -d
Apenas diretórios da lista. -p
Imprime o tipo de arquivo e as permissões para cada arquivo (conforme ls -l). grep -v
imprime linhas que não correspondem ao padrão, error
.
tree -d -p / | grep -v error