如何将MIME类型分配(设置)到文件?

有没有可以设置文件MIME类型的命令? 例如:

mime --set --MIME="image/pjpeg" filename.jpg 

@PHPLearner在他的评论中已经回答了@PHPLearner问题。 然而,为了答案,这里就是这样。

在问题中没有像这样的mime特别命令,毫无疑问,可以创建一个这样的命令。 对于添加新的MIME类型,只需编辑/etc/mime.types文件即可。

假设您要添加扩展名为.btc MIME类型

1.检查MIME类型是否已存在

打开命令行并输入以下行。 (用你的扩展名替换btc

$ grep’btc’/etc/mime.types

现在,此命令将输出行,如果已添加该MIME类型。 对于特定的MIME搜索,它看起来像这样

 $ grep 'cpp' /etc/mime.types text/x-c++src c++ cpp cxx cc $ grep 'py' /etc/mime.types application/x-python-code pyc pyo text/vnd.debian.copyright text/x-python py $ grep 'btc' /etc/mime.types 

如果您的扩展程序未输出任何行(在本例中为btc ),或者如果输出的行不包含您的扩展名,则必须创建新的MIME类型。 否则,您的扩展程序已在文件/etc/mime.types中包含MIME类型

2.1创建MIME类型(如果需要)

如果没有输出,或者给出的输出不包括您的扩展名,我们必须添加MIME类型。 对于该类型的命令行

$ gksudo gedit /etc/mime.types

修改以下文本,以便将“extension”替换为文件扩展名(no period mark) ,将该行添加到mime.types文件的末尾,然后保存。 这里我们的扩展是比特币,我们编写btc (NOT .btc) ,它将被视为比特币文件的扩展。

 text/extension extension 

并复制修改后的“文本/扩展名”部分。

在我们的例子中它看起来像

 text/bitcoin-text btc 

保存文件并退出。

2.2使用.xml文件和update-mime-database添加MIME类型

如果编辑/etc/mime.types文件不适用于您的扩展程序,则可以尝试此解决方法。

创建一个新的.xml文件,描述您的扩展程序,如下所示并保存。

     

现在将此文件添加到/usr/share/mime/application夹中。在添加或修改了所需内容之后,运行命令

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

3.将图标添加到MIME类型

现在我们需要将图标与MIME类型相关联。 获取SVG图标并将其命名为“text-extension.svg”,或者命名为修改后的MIME类型; 这将是表示系统上所有MIME类型实例的图标。

因此,我们重命名.svg文件,使其匹配bitcoin-text.svg (或“insertYourMIMEtype.svg”),以便slashes are replaced with "-" ,并且no capital letters

然后只需运行以下命令,将“bitcoin-text”替换为您的MIME类型。

 $ sudo cp bitcoin-text.svg /usr/share/icons/gnome/scalable/mimetypes $ sudo gtk-update-icon-cache /usr/share/icons/gnome/ -f 

Relogin和以MIME扩展名结尾的所有文件都将显示该图标。