虽然通常所有 Linux 命令都是小写的,但情况并非如此MAKEDEV
脚本,为大写。这是有原因的吗?
答案1
Linux 很可能从先前存在的 Unix 借用了这个脚本。
我能够找到的该脚本的最早版本称为/dev/MAKE
在 BSD 4 上,我相信是 1980 年左右的。它显然是这样命名的,因为它生成设备文件。名称的大写可能是为了将其与设备文件本身区分开来,但这只是猜测。
在此之前,设备文件似乎是用实际的 Makefile 制作的,如下所示贝尔实验室研究 V7 快照 (1979),在此之前我不确定/dev
层次结构是否存在。
对于 BSD 4.1 (1982),此脚本仍然被称为/dev/MAKE
,但在 BSD 4.1c_2 (1983) 中似乎已经存在一个/dev/MAKEDEV.local
脚本的一些描述。目前尚不清楚是否有/dev/MAKEDEV
剧本与之并存。
在 BSD 4.4 Lite2 版本中(根据存储库是 1995 年,但文件本身中的 SCCS 时间戳显示8.1 (Berkeley) 6/9/93
),我们可以看到该脚本及其最终名称/dev/MAKEDEV
以及一些特定于系统的MAKEDEV
脚本。此时Linux端已经存在同名脚本(正如斯蒂芬·基特提到的)。
答案2
据我所知,这是MAKEDEV
Linux 上的历史:
- 1992 年 3 月,Jim Winstead 添加了一个安装助手版本0.95a他的根软盘,称为
/INSTALL/mkdev
; - 1992 年 7 月,这变成
/dev/MAKEDEV
了版本0.96根软盘; - 到 1993 年 12 月,尼克·霍洛威 (Nick Holloway) 在一篇专门的文章中对此进行了扩展。MAKEDEV项目(1.2 版似乎是第一个公开发布的版本)。
所以脚本名称的关键是从/INSTALL/mkdev
到 的切换/dev/MAKEDEV
。我猜它是大写的,以避免任何潜在的混淆和与设备节点名称的命名空间冲突,因为它们(总是?)以小写字母开头。这早在 FHS 出现之前,二进制文件就存在于不同的地方(包括/etc
),因此拥有一个设备节点创建脚本/dev
就足够明智了。