Existe alguma maneira de listar arquivos digitando um comando no shell que lista todos os nomes de arquivos, nomes de pastas e suas permissões no CentOS?
Existe alguma maneira de listar arquivos digitando um comando no shell que lista todos os nomes de arquivos, nomes de pastas e suas permissões no CentOS?
Respostas:
Dê uma olhada na árvore , talvez seja necessário instalá-la primeiro. Por árvore padrão não mostra permissões, para mostrar as permissões próximas ao nome do arquivo executado
tree -p
que listará recursivamente todas as pastas e diretórios no diretório atual, incluindo permissões.
ls -lRlista o conteúdo dos diretórios recursivamente. A saída é difícil de processar automaticamente, mas para a navegação manual pode ser boa porque é com isso que você está familiarizado.
O findcomando lista arquivos recursivamente. Você pode personalizar sua saída, por exemplo, o seguinte comando imprime permissões como ls -lantes de cada nome de arquivo:
find -printf '%M %p\n'
Essa saída pode ser processada mecanicamente se não houver novas linhas nos nomes dos arquivos. Se você substituir \n(nova linha) por \000(byte nulo), poderá processar a saída com ferramentas que suportam registros separados por nulo.
Ambos lse findapenas imprimem permissões unix tradicionais, não acessam listas de controle. Para obter uma lista recursiva de todas as permissões de arquivo, incluindo informações da ACL, execute
getfacl -R .
A saída pode ser processada mecanicamente (caracteres especiais são classificados); em particular, ele pode ser alimentado para setfacl --restorereplicar as permissões para outra árvore com os mesmos nomes de arquivo.
Você quer findisso.
find some/dir -ls > output.txt