Linux 上的文件 MIME 类型简介Linux 上的文件 MIME 类型简介Linux 上的文件 MIME 类型简介Linux 上的文件 MIME 类型简介
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 上的文件 MIME 类型简介

介绍

MIME 类型是 Linux 文件管理的一个重要方面,因为它们使操作系统能够识别文件格式并确定打开文件的适当程序。了解 MIME 类型非常有用,尤其是在处理 Linux 系统上的各种文件格式时。本文概述了 MIME 类型,并解释了如何确定 Linux 上文件的 MIME 类型。它还引入了 xdg-mime 命令,这是一个用于在 Linux 上管理 MIME 类型的强大工具,允许用户更改与特定文件类型关联的默认应用程序或添加新的 MIME 类型。了解如何管理 MIME 类型可以提高工作效率并改善在 Linux 系统上处理文件时的整体用户体验。

Linux 中的不同 Mime 类型

在 Linux 中,MIME 类型(多用途 Internet 邮件扩展)用于根据文件内容识别文件类型,并将它们与相应的应用程序关联起来。以下是 Linux 中使用的一些最常见的 MIME 类型 -

text/plain - Plain text files
text/html - HTML files
application/pdf - PDF documents
image/jpeg - JPEG image files
image/png - PNG image files
video/mp4 - MP4 video files
audio/mp3 - MP3 audio files
application/zip - ZIP compressed archive files
application/json - JSON data files
application/xml - XML data files

您可以使用“file”命令后跟文件名来查看文件的 MIME 类型。例如,“file document.pdf”会将“document.pdf”文件的 MIME 类型显示为“application/pdf”。

了解 MIME 类型

尽管 MIME 类型是识别文件类型的标准方法,但它并不存储在 Linux 文件系统中的单个文件中。

有两种方法可以了解 mime 类型 -

  • 按文件扩展名列出的 MIME 类型

  • 按文件内容划分的 MIME 类型

  • 按文件扩展名划分的 MIME 类型 - 确定 MIME 类型的一种方法是使用文件扩展名。但是,如果扩展名不正确或丢失,则此方法可能不正确。仅根据文件扩展名确定文件的 MIME 类型并不总是可靠的。

  • 按文件内容划分的 MIME 类型 - 我们可以通过文件内容获取 MIME 类型。例如,JPG 图像文件具有独特的十六进制签名,例如 FF D9 和 FF D8。这种方法更好,但需要额外的 I/O 工作并且速度可能会更慢。

综上所述,要在Linux中准确确定文件的MIME类型,我们必须同时考虑文件扩展名和文件内容的具体特征。此方法可确保正确确定 MIME 类型,即使文件扩展名不正确或丢失也是如此。

使用 xdg-mime 命令发现文件的 MIME 类型

xdg-mime 实用程序利用共享 mime-info 数据库来识别 MIME 类型。最初,它尝试根据文件扩展名识别 MIME 类型。如果失败,它将继续分析文件的内容。

您可以使用 xdg-mime 命令获取 JPG 图像文件的 MIME 类型。这是一个例子 -

例子

# Query the MIME type of the JPG image file
xdg-mime query filetype example.jpg

输出

image/jpeg

输出表明文件 example.jpg 的 MIME 类型为 ‘image/jpeg’,这意味着该文件是 JPEG 图像文件。 xdg-mime 命令根据文件内容而不是文件扩展名确定 MIME 类型。在这种情况下,文件的内容表明它是 JPEG 图像文件,这就是命令返回“image/jpeg”的原因。

例子

让我们修改文件扩展名并观察 xdg-mime 命令的输出。

$ mv example.jpg example.zip

$ xdg-mime query filetype example.zip

输出

application/zip

因此,它显示了错误的 mime 类型,因为 xdg-mime 命令最初根据文件扩展名在数据库中搜索 MIME 类型。

例子

如果我们完全消除文件扩展名,让我们观察结果 -

$ mv example.zip example

$ xdg-mime query filetype example

输出

image/jpeg

当使用 xdg-mime 命令无法通过文件扩展名确定 MIME 类型时,它将根据文件内容搜索 MIME 类型。

文件命令

“file”命令通常包含在 FreeBSD 和 Linux 等免费操作系统中,并且可以与“--mime-type”选项一起使用来检索给定文件的 MIME 类型。

例子

$ file --mime-type example.jpg

输出

example.jpg: image/jpeg

让我们通过更改文件扩展名来测试“file”命令输出的准确性,并验证它是否仍然可以正确识别修改后的文件的 MIME 类型。

例子

$ mv example.jpg example.zip

$ file --mime-type example.zip

输出

example.zip: image/jpeg

即使文件扩展名发生更改,“file”命令仍然可靠,因为它不依赖扩展名来识别文件的 MIME 类型。相反,它会检查文件的实际内容来做出此决定。在这种情况下,这种方法使“文件”命令更加可靠。

我们消除了文件扩展名并依赖文件命令的持续准确性。

例子

$ mv example.zip example

$ file --mime-type example

输出

example: image/jpeg

我们知道,“file”命令不关注扩展名,它关注内容,这就是它显示相同输出的原因。

结论

Linux 使用 MIME 类型来解释文件,指示它们的格式以及如何显示或打开它们。 “file”命令可以轻松识别 MIME 类型。您可以为无法识别的文件格式注册自定义 MIME 类型,并且 MIME 类型在 Web 开发中对于在浏览器中正确显示网页至关重要。

©2015-2025 艾丽卡 support@alaica.com