为什么开源项目通常有没有文件扩展名的文档文件?

时间:2013-03-23 02:26:34

标签: file open-source file-extension

开源项目通常附带自述文件,包含许可证文本的文件,以及其他各种内容。通常,人们发现这些各种文档文件的命名没有文件扩展名。 Here是Github的一个例子。这些名称通常是大写字母,如“README”而不是“readme.txt”。

这有点麻烦,因为如果您下载项目的副本,为了打开这些文件,您必须添加文件扩展名或每次,指示操作系统应在哪个程序中打开它为什么有人不想添加文件扩展名?这个恼人的惯例来自哪里?

2 个答案:

答案 0 :(得分:10)

如果您使用的是Linux系统(或其他传统的类UNIX系统,如BSD),您可能会注意到许多类型的文件缺少扩展名,包括可执行文件。

Linux和其他* nix系统倾向于依赖文件扩展名以外的方法来确定文件的类型(例如开头的魔术代码,许多文件格式都有)。如果您的系统具有“文件”实用程序(在Windows以外的大多数操作系统上预安装),则可以对此进行测试。

命名文件README等的做法,没有扩展,可以追溯到很久以前。在控制台上工作时,您倾向于通过执行program ./path/to/file之类的操作来打开文件,其中'program'是要打开的程序的名称,'。/ path / to / file'是要打开的文件的路径(在这种情况下相对,或绝对)。由于您正在指示特定程序打开文件,因此无需进行实际检测以确定要打开的程序(尽管现代文本程序通常会尝试检测非文本文件并发出警告)。

另一方面,Windows将文件扩展名与特定程序相关联以打开它;它不会查看文件内容以确定要打开的程序。要在Windows中打开没有扩展名的文件,只需右键单击该文件,然后您就可以选择要打开它的任何程序。

在Linux(以及其他* nix操作系统)的图形环境中,文件扩展名不是必需的,因为它们不依赖于扩展来确定文件的类型或与之关联的程序。相反,关联由MIME类型决定,而MIME类型又可由上述“魔术代码”确定。

答案 1 :(得分:1)

我认为它来自旧的Linux或UNIX系统,你所拥有的只是一个控制台和一些文本编辑器。根据文件名的一部分,没有任何东西可以自动选择程序。在处理文件和目录时,许多Linux用户继续以这种方式工作。我曾经,直到我看到人们使用Windows资源管理器和鼠标运行得更快。

相反,文件以大写形式命名,因为ls将以ASCII整理顺序列出它们,并且作者希望这些文件首先出现。 (我不确定它是否仍然存在。)那时候,他们很有帮助!