Quando solicito permissões de arquivo em um aplicativo Windows-10 WSL Ubuntu, faço:
ls -ltra
E recebo informações como:
-rwxrwxrwx 1 scampsd scampsd 42034 Mar 29 15:26 Filename.cs
drwxrwxrwx 1 scampsd scampsd 4096 Mar 29 15:26 .
Agora, conforme explicado nesta outra pergunta do StackOverflow , recebo informações relacionadas ao chamado "número de permissão do arquivo", sendo 644 neste caso.
Existe um comando de linha de comando UNIX/Linux que eu possa iniciar para obter "644" como resposta, em vez da rwx---...
coisa?
Você pode usar o
stat
comando:Na linha 4 da saída você pode ver as permissões em formato octal.
Ou com a opção de formatação
%a
para obter apenas as permissões octais:Você pode até falsificar sua própria saída tipo ls:
Embora, você possa se beneficiar aprendendo a converter entre representação octal e forma legível por humanos. É uma adição simples, onde:
r
=4w
=2x
=1Assim
6 = 4+2 = r+w
,5 = 4+1 = r+x
etcSe você deseja obter apenas o código octal de um único arquivo ou diretório, pode usar
stat
(usando o arquivo.zshrc
como exemplo):neste caso, usamos
-c
para dizerstat
que queremos usar uma string de formato personalizado e, em seguida, definimos nossa string de formato como'%a'
, que imprime as permissões do arquivo em formato octal.Se você quiser uma saída um pouco semelhante a
ls
, você pode fazer isso:Isso usa uma string de formato que fica
stat
o mais próximols
possível da saída de estilo. Explicação, deman stat
: