Para obter todas as informações fornecidas por ls -l
para um único arquivo ou pasta, use a opção -d
e especifique o arquivo:
ls -ld filename
Eu sei que ls -l
lista as permissões de cada arquivo em um diretório, mas qual é o comando se eu quiser ver as permissões de apenas um arquivo específico?
Para obter apenas o modo:
stat -c %a file
(onde file
também pode ser um diretório).
Nota: isto é com o comando stat
do GNU Coreutils. Caso contrário, a solução depende do sistema.
Se sua intenção é fazer algo dependendo da permissão do arquivo, então, em alguns casos, você pode considerar a declaração condicional simples test
(também conhecido como [
ou [[
):
-r
existe e a permissão de leitura é concedida -w
existe e a permissão de gravação é concedida -x
existe e a permissão de execução é concedida Por exemplo:
[ -w file ] && echo foo >> file
Como as "permissões" não cobrem apenas permissões de unix octal em sistemas Linux modernos, eu gostaria de elaborar um pouco:
Além de stat -c %a file
@ vinc17 sugerido, há stat -c %C file
para o contexto do SELinux no RHEL Systems e getfacl file
para volumes usando ACLs.
namei -m /path/to/file
pode ser útil para descobrir todas as permissões octal que levam ao caminho do arquivo, pois permissões erradas nos diretórios pai podem inibir o acesso.
Tags permissions ls files