阅读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 的魔法文件?
阅读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 的魔法文件?
你不能。您的 mime-database 和 libmagic 做了两件不同的事情,并且可以结合使用。Libmagic 读取文件头中的“幻数”以确定它是什么类型的文件以及您的 mime 数据库映射的文件扩展名到它的 mime 类型。
尝试先通过扩展名确定文件,并使用 libmagic 作为备份,以防遇到没有扩展名的文件。
您不想只使用 libmagic,因为没有文件可以保证在其标题中实际包含该“幻数”。每次都为正确确定每个文件的 mimetype 获得良好的支持可能会很棘手。
如果要读取 .desktop 文件,请使用 ini 解析器。