如何确定文件的 MIME 类型?

如何确定文件的 MIME 类型?

我最近切换到 GNOME 3,惊讶地发现我们无法设置默认应用程序。我正在使用 Bash 编写 Nautilus 扩展。我想查找文件的 MIME 类型。

最初我习惯使用 提取文件的扩展名sed并在其上构建代码。然后我意识到有一个名为 的命令file。当我尝试查找文件mime-type的时mkv,命令file --mime-type -b <filename>会输出,application/octet-stream但当我看到 Nautilus 属性窗口时,它会显示正确的video/x-matroskamime 类型。

我这里遗漏了什么吗?如果没有,有没有更好的方法来记录文件的 mime 类型?

答案1

在 Linux 上,有多种方法可以获取 MIME 类型,并且它们通常会产生不同的结果。使用

xdg-mime query filetype your_file

获取与 Nautilus 相同的 MIME 类型。

答案2

在 /usr/share/applications 中查找应用程序(即 gedit)的 .desktop 文件并添加以下 MIME 类型:

...
MimeType=text/plain;text/wiki;text/foo;
...

然后它们应该自动启动这些文件。

相关内容