双重文件扩展名

5

思考

我在Linux中有时会看到.tar.gz,这意味着它是一个被压缩的tar文件。系统是否会忽略.tar部分,直到解压缩为止?还有其他用例吗?

在Web开发中,我们经常使用脚本文件的双重扩展名jquery.min.js。这方面是否有标准或连贯的逻辑?我可以使用jquery.my-library.coffee.min.packed.js.gz来表示它最初是以CoffeeScript编写的,然后编译成JavaScript,进行了最小化处理,打包,并最终进行了压缩。

如果我们能够给双重扩展名添加一些含义,例如README.md.txt,那将非常有用,这样,如果我们查看一个不知道什么是Markdown的系统,它将回退到txt并在文本编辑器中显示。如果系统知道Markdown,则将使用Markdown编辑器打开。这将类似于MIME类型。

问题

  1. 目前操作系统或编程语言中什么情况下使用双重文件扩展名?

  2. 是否可以通过现有的操作系统/编程语言包扩展双重文件扩展名的使用?

  3. 使用双重文件扩展名的惯例有哪些?


我搜索了“双文件扩展名”,看看是否有地方可以发布我的后备扩展名想法,比如readme.md.txtreadme.rst.txt。显然,还有其他人有同样的想法。 :D - endolith
什么是 rst 扩展名? - Billy Moon
reStructuredText,类似于Markdown - endolith
嘿,它们已经存在并被Github理解了!https://github.com/numpy/numpy/blob/master/doc/EXAMPLE_DOCSTRING.rst.txt - endolith
2个回答

1

最右边的扩展名被认为是文件的扩展名。因此,.gz是gzip文件,query.myplugin.js是javascript文件等等...


0

文件扩展名只是好旧的DOS时代的残留物。Mac OS除了Windows互操作问题外,不再使用它们。Mac OS使用类似子流的东西来存储内容类型。在Mac上从互联网下载文件时,会解释HTTP头中的内容类型,而不是文件名。

不幸的是,Windows仍然使用文件名扩展名。

网络上最重要的是提供正确的Content-Type!正如@thenetimp所说,在Windows中,最右边的部分最重要。


有趣的回答。我不知道关于OSX的那个。 - Billy Moon
Mime-Type 的猜测可能会很混乱,因此文件扩展名绝对有用。魔数则不太可靠。想想所有基于文本的格式。 - Gellweiler
这就是为什么MIME类型不应该被猜测,而应该由知道类型的一方提供。 MIME类型通常比文件名扩展名更具表现力。 - Anders Marzi Tornblad
我使用的是macOS,尽管我的HTTP头Content-Type显示为“text/plain”,但每当出现奇怪的文件名扩展名时,我的Mac都会询问我要使用哪个应用程序。但是当它是.txt时,Mac会像预期的那样使用默认文本编辑器打开它。 - Marcus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接