1

阅读shared-mime-info 规范并在 /usr/share/mime/packages 中添加我自己的类型后。我已经刷新了数据库:

$ update-mime-database /usr/share/mime

我尝试使用 gvfs-info,它返回正确的 mime。所以 unix 命令文件使用 libmagic 和 libmagic 使用他自己的数据库 /usr/share/misc/magic 。我想知道它们是否可以将 xml 文件转换为 libmagic 的魔法文件?

4

1 回答 1

3

你不能。您的 mime-database 和 libmagic 做了两件不同的事情,并且可以结合使用。Libmagic 读取文件头中的“幻数”以确定它是什么类型的文件以及您的 mime 数据库映射的文件扩展名到它的 mime 类型。

尝试先通过扩展名确定文件,并使用 libmagic 作为备份,以防遇到没有扩展名的文件。

您不想只使用 libmagic,因为没有文件可以保证在其标题中实际包含该“幻数”。每次都为正确确定每个文件的 mimetype 获得良好的支持可能会很棘手。

如果要读取 .desktop 文件,请使用 ini 解析器。

于 2012-01-16T10:06:05.267 回答