我正在尝试查找文件的 mime 类型。我使用了“文件--mime-type”或“xdg-mime”,但得到不同的答案?我不确定明白吗?
$ file --mime-type -b gePlugin.kmz
application/zip
$ xdg-mime query filetype gePlugin.kmz
application/vnd.google-earth.kmz
为什么我有不同的答案?我应该依靠哪一个?
为什么有区别?
谢谢!
我正在尝试查找文件的 mime 类型。我使用了“文件--mime-type”或“xdg-mime”,但得到不同的答案?我不确定明白吗?
$ file --mime-type -b gePlugin.kmz
application/zip
$ xdg-mime query filetype gePlugin.kmz
application/vnd.google-earth.kmz
为什么我有不同的答案?我应该依靠哪一个?
为什么有区别?
谢谢!
xdg-mime
@jdpipe 关于and的行为似乎是正确file
的。还有另一个实用程序mimetype
的行为类似于xdg-mime
.至于“信任”哪个实用程序,通常只使用
mimetype
or就可以了xdg-mime
。 但是,如果您担心文件可能具有错误的扩展名,请使用file
它,因为它会在报告文件类型之前检查文件的内容。例如,如果将 apng
重命名为jpg
,则file
正确报告“image/png”,但都xdg-mime
错误报告“image/jpeg”。mimetype
正如@db429所指出的,看起来这两个实用程序对于
kmz
您引用的文件都是正确的。Google 地球会创建kmz
文件,这些文件也是重命名的zip
文件。您要对信息执行的操作决定了要使用的应用程序。如果要提取内容,则file
告诉您继续使用unzip
. 如果您想按原计划查看和使用信息,请使用 Google 地球或其他能够使用kmz
文件的程序。关于
iso
文件,我不知道为什么xdg-mime
告诉你model/x.stl-binary
。在我的电脑上,它报告application/x-cd-image
. 此外,file
不使用该--mime-type
标志会报告确认它是某种类型的磁盘映像的附加信息。也许更新 mime 数据库会有所帮助:该
xdg-mime
实用程序xdg-utils
是一个更全面的程序,它考虑了您的桌面环境(GNOME 和亲戚,或 KDE)。在某些情况下,它会调用该file
实用程序,但在其他情况下,它会查找特定系统的 mimetype 数据库。file
据我所知,该实用程序仅查看您的文件内部,而不查看文件名。因此,该.kmz
文件被识别为 zip 文件。file
使用与特定文件类型相关联的“幻数”,例如,P5
文件开头的幻数字符串与来自 Netpbm 库的 PGM 图像相关联。mimetype 数据库知道更高级别的文件类型,如使用文件扩展名标识的那样,并且可以由用户自定义。安装新程序时,mimetype 数据库会扩展,并会给出在安装某些软件之前可能没有给出的答案。据我所知,命令不会发生这种行为
file
。如果你想了解更多,
xdg-mime
这里有详细信息——源代码。您可以看到它file
在某些情况下会调用。据我在 18.04 的电话(更多在这里):
是可靠的。
如果您需要 mime 类型与 Nautilus 或 Dolphin 等文件管理器的上下文菜单操作,请在文件的“属性”下查看该文件管理器。
在海豚中:
一个简短的网络搜索
google earth file format
给出了答案 xdg-mime 有更精确的答案,但“z”很可能代表“压缩”文件格式,所以 first 也是如此。