Como exibir as propriedades do arquivo via terminal?

39

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

Euseiquels-lmostrapropriedades;mascomoexibirasmesmasinformações?

Porexemplo,emvezde

rw-rw-r--

temosessarenderizaçãodeGUI:

abdennour@estifeda:$wishedCmdmyFile.....Permissions:OwnerAccess:Read&writeGroupAccess:Read&WriteOthersAccess:Readonly.....

    
por Abdennour TOUMI 08.10.2013 / 15:39

7 respostas

13

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"

Saída

# rwxr-x--- foo*
> ./abovescript foo
Permissions :
    Owner Access: Read & write & execute
    Group Access: Read & execute
    Others Access: NO PERMISSIONS
    
por BroSlow 08.04.2014 / 11:56
70

Use o comando stat para saber os detalhes do arquivo. Se o nome do arquivo for file_name , use

stat file_name
    
por Arun. K. P 08.04.2014 / 11:30
20

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

ls -l path-to-file

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

    
por Jens Erat 08.10.2013 / 15:45
12

Você já tentou file ?

Por exemplo:

file picture.jpg
    
por SirCharlo 08.10.2013 / 15:45
3
ls -lh filename

para versão legível em humanos

    
por Ross Jones 03.08.2015 / 13:41
0

Você pode usar o comando ls para listar arquivos e suas propriedades adicionando a opção -l . Exemplo:

$ls -l filename
    
por Hakeem Wahab 08.10.2013 / 15:45
0

Use

ls -l filename

(use L pequeno)

    
por Gurupal singh 08.10.2013 / 15:48