Listar recursivamente arquivos com nomes de arquivos, nomes de pastas e permissão

8

Existe alguma maneira que eu possa listar arquivos digitando um comando no shell que lista todos os nomes de arquivos, nomes de pastas e suas permissões no CentOS?

    
por user1038814 30.05.2012 / 23:12

3 respostas

10

Dê uma olhada na árvore , você pode ter que instalá-la primeiro. Por árvore padrão não mostra permissões, para mostrar permissões ao lado do nome do arquivo executado

tree -p

que listará recursivamente todas as pastas e diretórios dentro do diretório atual, incluindo permissões.

    
por 30.05.2012 / 23:48
7

ls -lR lista o conteúdo dos diretórios recursivamente. A saída é difícil de processar automaticamente, mas para navegação manual pode ser bom, porque é com o que você está familiarizado.

O comando find lista os arquivos recursivamente. Você pode personalizar sua saída, por exemplo, o comando a seguir imprime permissões como ls -l antes de cada nome de arquivo:

find -printf '%M %p\n'

Esta saída pode ser processada mecanicamente se não houver novas linhas em seus nomes de arquivos. Se você substituir \n (newline) por ls0 (null byte), poderá processar a saída com ferramentas que suportam registros separados por nulo.

Tanto find como setfacl --restore apenas imprimem as permissões tradicionais do unix, não as listas de controle de acesso. Para uma listagem 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 %code% para replicar as permissões para outra árvore com os mesmos nomes de arquivos.

    
por 31.05.2012 / 01:54
4

Você quer find para isso.

find some/dir -ls > output.txt
    
por 30.05.2012 / 23:46