Comando Terminal para obter todos os metadados de um arquivo?


15

Existe alguma maneira de obter todos os metadados associados a um arquivo no Terminal? Por "metadados", entendo coisas que os metadados e propriedades não são armazenados nem derivados do conteúdo do arquivo (por exemplo, soma de verificação, UTD, resolução de imagem etc.), mas residem nos dados do sistema de arquivos sobre o arquivo (por exemplo, da última vez alterado, inode, permissões, atributos estendidos etc.).


Confira o comando 'stat' e 'mdls' para obter metadados do Spotlight. 'ls' também possui as opções '-e' e '- @' que fornecem mais informações quando usadas com a opção '-l'.
mtklr

Respostas:


29

Essa resposta pode estar atrasada, mas espero que ajude alguém.

Existem várias maneiras de visualizar metadados no terminal em um computador Apple:

  1. mdls path/file.extension

    • mdlssignifica Lista de metadados e você pode olhar as páginas de manual ( man mdls) para aprender como usá-lo.
  2. xattr path/file.extension

    • xattrsignifica atributos estendidos. Isso pode ser usado para exibir e editar atributos estendidos de arquivos.
    • xattr -l path/file.extensionfaz com que os nomes e valores dos atributos sejam exibidos. No entanto, notei que, pelo menos no macOS, parece que isso exibe apenas dados adicionados pelo usuário.
  3. ls -l@ path/file.extension

    • lsé um poderoso utilitário de listagem de terminais. Na sua forma mais simples, lista o conteúdo atual do diretório. No entanto, como você pode ver aqui, pode listar mais do que isso.
  4. exiftool path/file.extension

    • Você precisa instalar exiftoolseparadamente se ainda não o fez. Por exemplo, se você usar brew, você pode fazer brew install exiftool.
    • exiftool é um utilitário útil para visualizar e mexer com os metadados do arquivo.
  5. sips -g all path/file.extension (para imagens)

    • sipse identifysão ambos para leitura de metadados / informações da imagem.
  6. identify -verbose path/file.extension (para imagens)

Dependendo do aplicativo desejado, um deles pode ser mais apropriado ou conveniente que os outros. No entanto, deve-se notar que tudo isso mostra coisas diferentes, mesmo que ligeiramente.


1

Quero dizer, lsposso fornecer muitas informações com a -lbandeira

user@example.com:~# ls -l .bashrc
total 6980
-rw-r-----. 1 user   user    14499 Jan  6 17:59 .bashrc

Há seu último toque, proprietário, grupo e permissões; então existe md5sumpara isso:

user@example.com:~# md5sum .bashrc
2aa4f74675fa647d23d3dbbe31e9c4d1  .bash_history

adicionando uma -ibandeira para a invocação ls irá imprimir as informações de inode bem
crasic
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.