终端命令获取文件的所有元数据?


15

有什么办法可以在终端中获取与文件关联的所有元数据?“元数据”是指事物的元数据和属性,这些元数据和属性既不存储在文件内容中也不不是从文件内容中导出(即校验和,UTD,图像分辨率等),而是驻留在有关文件的文件系统数据中(即上次)更改,inode,权限,扩展属性等)。


检出“ stat”命令,并检出“ mdls”以获取聚焦元数据。'ls'还具有'-e'和'-@'选项,当与'-l'选项一起使用时可提供更多信息。
mtklr

Answers:


29

该响应可能会晚,但希望会对您有所帮助。

在Apple计算机上的终端中有多种查看元数据的方法:

  1. mdls path/file.extension

    • mdls代表元数据列表,您可以查看手册页(man mdls)了解如何使用它。
  2. xattr path/file.extension

    • xattr代表扩展属性。这可用于显示和编辑文件的扩展属性。
    • xattr -l path/file.extension导致显示属性名称和值。但是,我注意到,至少在macOS上,这似乎仅显示用户添加的数据。
  3. ls -l@ path/file.extension

    • ls是功能强大的终端列表实用程序。它以最简单的形式列出当前目录的内容。但是,如您在此处看到的,您可以列出更多。
  4. exiftool path/file.extension

    • exiftool如果尚未安装,则需要单独安装。例如,如果您使用brew,则可以这样做brew install exiftool
    • exiftool 是用于查看和处理文件元数据的有用工具。
  5. sips -g all path/file.extension (用于图像)

    • sips并且identify都用于读取图像元数据/信息。
  6. identify -verbose path/file.extension (用于图像)

根据您所需的应用程序,其中之一可能比其他应用程序更合适或更方便。但是,应该注意的是,尽管略有不同,但它们都显示出不同的内容。


1

我的意思是,ls可以为您提供带有-l标志的很多信息

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

这是您最后一次触摸的内容,所有者,群组和权限;那么就是md5sum这样:

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

-i在ls调用中添加标志也将打印inode信息
crasic'1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.