为什么 Linux 不关心文件扩展名,但你仍然应该关心为什么 Linux 不关心文件扩展名,但你仍然应该关心为什么 Linux 不关心文件扩展名,但你仍然应该关心为什么 Linux 不关心文件扩展名,但你仍然应该关心
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

为什么 Linux 不关心文件扩展名,但你仍然应该关心

发表 admin at 2025年2月28日
类别
  • 未分类
标签

要点

  • Linux 通常不依赖文件扩展名;它使用文件本身中的“幻数”来获取文件的类型。
  • Linux 应用程序(包括 GNOME 文件)可能仍使用扩展名来确定文件类型。
  • 使用文件扩展名有助于实现互操作性并更轻松地识别文件类型。

您可能习惯于跟踪和修改文件名中的文件扩展名,特别是如果您是使用 Windows 长大的。然而,Linux 以不同的方式使用文件扩展名,在某些情况下完全忽略它们。那么到底发生了什么事,延期真的很重要吗?

Linux 上的文件扩展名有何不同?

大多数计算机系统,尤其是 Windows,都以一种或另一种方式使用文件扩展名。文件扩展名是文件名末尾的一组 2-4 个字母(有时是数字)。对于网页,这可能是“.html”,对于 JPEG 图像,这可能是“.jpg”,等等。

有些系统对扩展非常严格,而这实际上是必需的。 Linux 更加灵活,并且在许多情况下,并不真正关心文件扩展名。您可以随意将图像文件命名为“octopus.png”、“octopus.image”,甚至只是“octopus”。

为什么扩展(通常)不重要

从历史上看,Linux 与 Windows 不同,它更喜欢通过文件的内容而不是文件名来确定文件的类型。每种方法都有其自身的优点,因此没有正确、错误或优于另一种的方法。

在 Linux 上查找文件类型的标准方法是使用“幻数”;文本或原始字节的模式,指示特定类型的文件。例如,file 命令打印文件的类型:

由于 Linux 处理文件类型的方式,您可以更改文件的扩展名,并且 file 命令仍然会识别其真实类型:

一般来说,无论您使用什么文件扩展名,应用程序仍然可以完美运行。您甚至可以完全删除文件扩展名而不会损坏文件,并且应该不会有任何问题。当然,直到你这样做为止。

当扩展确实很重要时

Linux 往往不关心文件扩展名,但应用程序仍然可以自由地按照自己的意愿运行。即使像 GNOME 的 Files (Nautilus) 这样的核心应用程序也使用扩展名来确定文件类型。例如,以下是具有不同扩展名的同一文件的两个副本:

请注意,“文件”会报告扩展名为 JPG 的文件的 JPEG 类型,即使该文件为 PNG 格式。这可能是因为使用文件扩展名更有效。神奇的方法依赖于打开文件并读取一定数量的内容。检查文件名要快得多,尽管不太准确。

某些文件类型更加依赖扩展名。例如,XLSX 文件是一种压缩文件,因此扩展名很重要。没有它,像 xdg-open 这样的应用程序将无法达到您的预期。此示例使用名为sample.xlsx 的Excel 电子表格文件以及名为sample2 的该文件的副本(不带扩展名)。

虽然 file 命令将这两个文件识别为 Microsoft Excel 类型,但 xdg-open 会感到困惑,并使用存档管理器打开没有扩展名的文件。请注意,“文件”还将其报告为“Zip 存档”。

重要的是要记住,使用文件扩展名还有其他充分的理由:

  • 从文件列表中立即识别文件类型非常有用。
  • 按文件名对相关文件进行分组并使用其扩展名来反映其类型是有意义的。例如,在 C 程序中,您可能有一个包含代码本身的 main.c 文件和一个包含程序接口定义的 main.h 头文件。
  • 它通常会使操作不同的系统变得更容易,这些系统可能依赖于扩展,例如 Windows。

总之,虽然您可能不需要使用文件扩展名,并且了解它们在 Linux 中的用途很有用,但您可能仍然应该使用它们以避免任何麻烦。

©2015-2025 Norria support@norria.com