如何在Mac OS X中从命令行获取文件的UTI?


24

是否有可以向我传递文件名的命令行实用程序,该文件名将返回该文件的适用UTI?

例如:

hypothetical-uti-fetcher /Library/Desktop\ Pictures/Aqua\ Blue.jpg

可能会给我:

public.jpeg
public.image
public.data

Answers:


27

您可以使用以下mdls命令查找文件的UTI:

mdls /Library/Desktop\ Pictures/Aqua\ Blue.jpg

它会为您提供大量信息,在顶部会显示类似

kMDItemContentType             = "public.plain-text"

希望这可以帮助!


3
优秀。谢谢。 mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpg正是我想要的。
smokris

不客气,我很高兴这有所帮助。
Wuffers

1
假设我关闭了Spotlight索引,但似乎没有存储任何元数据。(mdls what-file只是说找不到该文件)。md *服务如何首先生成内容类型?
AurelBílý15年

7

mdls命令似乎仅适用于Spotlight索引文件。如果在已安装的磁盘映像,CD或拇指驱动器上运行它,则可能根本不返回任何信息。

在开发Quicklook插件时,使用以下命令来查看UTI Quicklook认为文件包含的内容以及用于预览的插件也很有用:

qlmanage -d 4 -p /path/to/file

引用的站点不再可用。
兰德尔
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.