Como exibir propriedades do arquivo via terminal?

58

Qual é a linha de comando que exibe informações (ou propriedades) de arquivos, como no método GUI Display properties in GNOME?

Exibir propriedades GNOME

Eu sei que ls -lmostra propriedades; mas como exibir as mesmas informações?

Por exemplo, em vez de

rw-rw-r--

nós temos essa renderização da GUI:

abdennour@estifeda: $wishedCmd myFile
 ..... 
  Permissions : 
    Owner Access: Read & write 
    Group Access :Read & Write 
    Others Access: Read only
   .....

Captura de tela da caixa de diálogo de permissões

Abdennour TOUMI
fonte
9
Que tal stat? Isso fornecerá uma enorme quantidade de informações em um arquivo ou pasta selecionado; veja man stat.

Respostas:

15

Algo como

#!/bin/bash
print_perm() {
  case "$1" in
    0) printf "NO PERMISSIONS";;
    1) printf "Execute only";;
    2) printf "Write only";;
    3) printf "Write & execute";;
    4) printf "Read only";;
    5) printf "Read & execute";;
    6) printf "Read & write";;
    7) printf "Read & write & execute";;
  esac
}

[[ ! -e $1 ]] &&  echo "$0 <file or dir>" 2>&1 && exit 1

perm=$(stat -c%a "$1")
user=${perm:0:1}
group=${perm:1:1}
global=${perm:2:1}

echo "Permissions :"
printf "\tOwner Access: $(print_perm $user)\n"
printf "\tGroup Access: $(print_perm $group)\n"
printf "\tOthers Access: $(print_perm $global)\n"

Resultado

# rwxr-x--- foo*
> ./abovescript foo
Permissions :
    Owner Access: Read & write & execute
    Group Access: Read & execute
    Others Access: NO PERMISSIONS
Danatela
fonte
93

Use o statcomando para conhecer os detalhes do arquivo. Se o nome do arquivo for file_name, use

stat file_name
Uma corrida. K. P
fonte
26

Não há comando dedicado para isso. Para informações meta, como tempo, tamanho e direitos de acesso, use

ls -l path-to-file

Você também pode estar interessado em que tipo de arquivo é, file path-to-fileirá ajudá-lo com isso.

Jens Erat
fonte
18

Você já tentou file?

Por exemplo:

file picture.jpg
SirCharlo
fonte
Tenho certeza que ele quis dizer permissões.
Braiam
6
ls -lh filename

para versão legível por humanos

Ross Jones
fonte
Isso torna o tamanho do arquivo "legível". Você recebe 32K em vez de 31900. Mas não ajuda nos direitos de acesso. Mas útil de qualquer maneira ;-)
Tobias Gaertner
0

Você pode usar o lscomando para listar arquivos e suas propriedades adicionando a -lopção Exemplo:

$ls -l filename
Hakeem Wahab
fonte
0

Usar

ls -l filename

(use L pequeno)

Gurupal singh
fonte