Pular para o conteúdo principal

Obter os atributos de um link simbólico (file.lattrs)

Declaração

tabela_de_atributos, mensagem_de_erro = file.lattrs(caminho_do_diretório [, campo_solicitado])

Parâmetros

  • caminho do diretório
    Texto.
  • campo solicitado
    Parâmetro opcional, com três formas de uso:
    • omitido: cria e retorna uma tabela de atributos com todos os campos
    • uma tabela: não cria outra tabela; preenche a tabela recebida com os atributos
    • um nome de campo: retorna diretamente o valor desse campo
      Os campos disponíveis são:
    • "dev": dispositivo onde está o inode do arquivo
    • "ino": número do inode do arquivo
    • "mode": tipo de arquivo, podendo ser "file", "directory", "link", "socket", "named pipe", "char device", "block device" ou "other"
    • "nlink": quantidade de hard links
    • "uid": ID do proprietário do arquivo
    • "gid": ID do grupo do arquivo
    • "rdev": tipo de dispositivo do inode de um arquivo especial
    • "access": horário do acesso mais recente
    • "modification": horário da modificação mais recente
    • "change": horário da última alteração de estado
    • "size": tamanho do arquivo em bytes
    • "permissions": permissões do arquivo
    • "blksize": tamanho do bloco de I/O do sistema de arquivos
    • "blocks": quantidade de blocos de 512 bytes alocados ao arquivo
    • "target": caminho do arquivo apontado pelo link simbólico

Valores retornados

  • tabela de atributos
    Tabela; retorna a tabela de atributos em caso de sucesso e nil em caso de falha.
  • mensagem de erro
    Texto; mensagem de erro em caso de falha.

Observações

Obtém os atributos do arquivo; se o destino for um link simbólico, retorna as informações do próprio link (e não do destino), equivalentes a lfs.symlinkattributes.
Disponível somente em versões posteriores a 20250705.

Exemplo

local info, err = file.lattrs("/var/mobile/Media/1ferver/lua/scripts/")
if info then
sys.alert("文件信息:"..json.encode(info))
else
sys.alert("获取文件属性失败:"..err)
end

Observação: o código acima usa a função sys.alert, que não pertence a este capítulo.