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

有没有办法在终端中获取与文件相关的所有元数据?所谓的“元数据”是指不存储在文件内容中,也不从文件内容派生出来的元数据和属性(例如校验和、UTD、图像分辨率等),而是驻留在文件系统关于文件的数据中的元数据(例如最后修改时间、inode、权限、扩展属性等)。

请查看“stat”命令和用于聚光灯元数据的“mdls”。 “ls”还具有“-e”和“-@”选项,当与“-l”选项一起使用时,可以提供更多信息。 - mtklr
2个回答

这个回答可能有点晚,但希望能对某人有所帮助。 在苹果电脑的终端上,有很多种方法可以查看元数据:
  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(适用于图像)

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

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

2这个答案简直完美,嘴巴比心。谢谢,正是我要找的,而且更多! - dossy

我是说,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