Exibe permissões de arquivos em formato numérico, por exemplo, "0755"? [duplicado]

18

Existe uma maneira de obter permissões de arquivos / diretórios no formato numérico "0777" em vez de "-rw - r - r"?

    
por amosrivera 08.03.2011 / 18:10

3 respostas

29

Você pode exibir as permissões octal de um arquivo usando o comando stat:

stat -c %a [filename]

Ou usando o find:

find [path] -printf '%m %p\n'

Observe que find é recursivo e também imprime todos os arquivos em todos os subdiretórios. Você pode usar opções como maxdepth ou prune para impedir que ele seja recursivo.

    
por Cedric 08.03.2011 / 18:19
6

Eu sei que este é um post antigo, mas o encontrei enquanto procurava uma solução para isso e o ampliei:

stat -c '%a - %n'

Isso mostrará as permissões do arquivo e o nome do arquivo. Isso permite que você veja as permissões de cada arquivo em uma pasta com:

stat -c '%a - %n' *

Eu também levei isso um passo adiante e criei um alias:

alias perms="stat -c '%a - %n'"

Então, digitar perms * me dará as permissões de cada arquivo ou arquivo permanente.php me dará as permissões de apenas aquele arquivo.

    
por rmmoul 07.03.2014 / 07:53
5

Você também pode usar esta solução alternativa:

find FILENAME/DIRECROY -printf "%m:%f\n"

Exemplo, verifique meu diretório Vídeos:

find Videos -printf "%m:%f\n"

755:Videos

Outro método:

Usado para listar todos os arquivos de diretório com suas permissões

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr(,i+2,1)~/[rwx]/) \
             *2^(8-i));if(k)printf("%0o ",k);print}'
    
por Maythux 07.03.2014 / 08:15