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 -lR
lista 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 find
comando lista arquivos recursivamente. Você pode personalizar sua saída, por exemplo, o seguinte comando imprime permissões como ls -l
antes 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 ls
e find
apenas 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 --restore
replicar as permissões para outra árvore com os mesmos nomes de arquivo.
Você quer find
isso.
find some/dir -ls > output.txt