来自Windows,Linux和macosx上的文件扩展名看起来有点奇怪。操作系统似乎在不依赖文件扩展名的情况下知道文件是什么—它使用MIME类型来实现这一点。
MIME类型现在被称为“Internet媒体类型”。MIME类型最初是为电子邮件创建的-“MIME”代表多用途Internet邮件扩展,但它们已经扩展到其他用途。
文件只是1和0的集合。文件系统关联了一个文件,如“文档.pdf“文件类型”只是与文件相关联的信息,它告诉操作系统和程序如何解释这些1和0。例如,PNG图像需要使用支持PNG文件的图像查看器打开。在文本编辑器中打开它,你会看到乱七八糟的东西。尝试将其作为程序运行,但它不会运行。
相关:黑客如何用假文件扩展名伪装恶意程序
Windows忽略MIME类型,只依赖于文件扩展名。例如,您可能有一个名为示例.txt. Windows知道它是一个文本文件,因为它的扩展名是.txt。删除.txt文件。文件扩展名—将文件重命名为没有文件扩展名的“Example”,Windows将不知道如何处理生成的文件。这就是为什么Windows在删除文件扩展名时会发出警告,说“如果您更改了文件扩展名,文件可能会变得不可用”。它不会永远不可用-您可以通过读取原始文件扩展名使其再次“可用”。
这就是Windows在默认情况下隐藏文件扩展名的原因,这样人们就不会意外地删除这些文件扩展名。攻击者可以利用此行为和其他漏洞利用假文件扩展名伪装文件。
双击该文件之后,Windows将显示一个列表的程序,您可以用来打开文件。Windows不知道这是什么类型的文件,但如果您使用文本编辑器打开它,它将正常打开。“文件类型”存储在文件名本身中。文件扩展名并不特殊-它们只是文件名中一个句点后的几个字符。文件扩展名可以只有一个字符,甚至可以超过三个字符。
相关:初学者极客:7种方法可以改变默认的应用程序和文件关联在Windows中
要配置哪些应用程序打开文件,必须将它们与不同的文件扩展名相关联。Windows试图在一个更漂亮的界面中呈现这个特性,但您仍然只能选择哪个应用程序应该与哪个文件扩展名相关联。
相关:如何在Ubuntu上更改默认应用程序:4种方法
在Linux或Mac OS X上打开文件时,操作系统不仅仅依赖于文件扩展名。事实上,如果您在Linux上创建一个文本文件,那么默认情况下它通常根本没有文件扩展名。如果双击这样的文本文件,它将在文本编辑器中打开。如果您有一个没有文件扩展名的图像文件,可以双击它,它将直接在图像查看器中打开。其他类型的文件将在其默认应用程序中打开。
与依赖文件名末尾的文件扩展名不同,有关文件内容的信息(文件的MIME类型)嵌入到文件本身的开头。因此,当您打开一个没有文件扩展名的文件时,Linux和MacOSX将查看该文件的MIME类型以确定它是什么类型的文件。
以下是常见Windows文件扩展名及其等效MIME类型的列表:
.txt – text/plain
.html – text/html
.mp3 – audio/mpeg3
.png – image/png
.doc – application/msword
如果您想在Linux上更改默认的文本编辑器,您应该更改text/plain MIME类型关联。
将没有文件扩展名的文件从Linux带到Windows,您可能无法访问它们。如果您知道每个文件是什么类型的文件,您可以直接在正确的程序中打开它或添加适当的文件扩展名。
Linux和MacOSX都经常使用文件扩展名,这有助于提高兼容性。但是,它们不仅仅依赖于文件扩展名。当MIME类型信息不清楚时,它们可能会使用文件扩展名—例如,如果删除或更改文件扩展名,Mac OS X会警告您“您的文档可能在其他应用程序中打开”。文件扩展名可以覆盖MIME类型,但是由于文件的MIME类型信息,如果没有文件扩展名,该文件仍然可用。
您的web浏览器和电子邮件客户端也依赖于MIME类型。这就是你的网页浏览器如何知道http://example.com/page应该呈现为HTML文件,即使它没有像http://example.com/page.html-web服务器将文本/html MIME类型与文件一起发送。如果服务器希望您的浏览器下载该文件,它会发送application/octet stream MIME类型。这意味着“这是一个二进制文件,只需下载并保存为一个文件。”
在某些情况下,服务器可能配置了不正确的MIME类型设置。这就是为什么你有时会点击网页上的一个链接,而下一页却作为一个文件下载到你的电脑上,而不是在你的浏览器中打开。如果MIME类型application/octet流是在应该发送text/html之类的MIME类型时发送的,则将下载该文件。除了等待服务器停止错误行为之外,您对此无能为力。
MIME类型相当简单,尽管对于Linux或Mac的新用户来说它们看起来像是黑魔法。在命名文件时,它们确实提供了更多的自由—您可以在Linux上随意命名文档、图片和视频,如果愿意,可以删除文件扩展名。
...工具之前,重要的是要了解在使用Gmail时您可以使用哪些类型的加密,Outlook.com,或其他Web邮件服务。您将使用对称或非对称加密来保护您的数据。但这是什么意思? ...
...保存一个新的图像。您必须为DESTïu文件使用正确的文件扩展名(即JPG、GIF、PNG等),并且它将自动检测图像转换为哪种格式。 ...
...是你需要做的事情,这里有一些指示,让它开始运行。 为什么你想用电子签名来对邮件进行数字签名,以证明邮件来自发件人,而发件人说邮件来自或加密邮件,这本身就是一个完整的话题。我们假设,如果您对电子邮件的数...
...一个目录,里面有各种不同类型的文件。其中一些文件的扩展名为“.prog”。我们要在命令行中重命名它们,以便它们具有“.prg”扩展名。 我们如何说服mv为我们做这件事?我们来看看档案。 ls *.prog -l 这里有一种方法不需要编...
...,但是如果您有兴趣了解更多,请查看我们的指南,了解为什么Linux和macOS不需要文件扩展名。 相关:MIME类型解释:为什么Linux和MacOSX不需要文件扩展名 如果更改文件的扩展名会发生什么情况? 根据我们在上一节中刚刚讨论的...
...者之间的区别,所以我们会。 相关:什么是文件系统,为什么有这么多? 文件系统提供了一种组织驱动器的方法。它指定数据如何存储在驱动器上,以及可以将哪些类型的信息附加到文件、文件名、权限和其他属性。Windows支持...
...和自制桶 首先,您需要安装Xcode的命令行工具。在现代的macosx系统上,您只需在终端窗口中运行以下命令就可以安装它们。如果你愿意的话,你也可以从苹果安装完整的Xcode应用程序,但这会占用你Mac上更多的空间,而且没有必...
...还有一个单独的文件系统,程序用它来相互通信。这就是为什么在Linux上“一切都是文件”的原因——包括硬件设备和提供系统信息或其他数据的特殊文件。这也是为什么只有Windows有从DOS继承的驱动器号——在其他操作系统上,...
...么兼容。以下是您需要了解的有关文件系统的信息—以及为什么有这么多不同的文件系统。 文件系统101 相关:初学者极客:硬盘分区解释 不同的文件系统只是在硬盘、闪存或任何其他存储设备上组织和存储文件的不同方式。...
...“ditto”的终端命令中添加了更好的文件夹合并功能。(为什么他们不只是修复Finder,我们不确定。)ditto命令是标准Unix cp命令的改进版本,如果您愿意,也可以使用它。 与Finder不同,同上自动合并文件夹。正如手册中所说: ...