返回首页
最新
我一直在探索早期的Unix系统,特别是*PDP-7上的Unix V0*及其后继版本*PDP-11上的Unix V1*,并使用SIMH模拟器进行研究。
有趣的是,在这些早期版本中,现代最常用的shell命令之一`cd`并不存在。
- 在*Unix V0*中,目录的更改是通过一个名为`ch`的shell命令来完成的,结合一个特殊的目录`dd`(directory directory)使用。例如,要进入Ken的主目录,可以输入`ch dd ken`。这似乎反映出当时尚未实现完整的层次文件结构。我已经在SIMH模拟器中验证了这一行为。
- 在*Unix V1*中,方法变得更加熟悉:你可以使用`chdir /usr/ken`,但仍然*不是*`cd`。这一点在SIMH中也得到了验证。丹尼斯·里奇在《Unix时间共享系统的演变》中提到:
> “顺便提一下,_chdir_被拼写为_ch_;我不记得为什么在转到PDP-11时要扩展这个名称。”
现在事情变得有趣了:
在阅读[Unix V0的shell源代码(`pbsh.s`)](https://github.com/DoctorWkt/pdp7-unix/blob/master/src/other/pbsh.s#L199C1-L210C18)时,我发现了一些似乎是在检查与字符串`"chdir"`匹配的内置命令的代码——但它比较的是前3个字符,而不是2个或5个:
```asm
chdirstr:
<ch>;<di>;<r 040
. . . . .
" check for built-in "chdir" command
lac argv0
sad chdirstr
skp
jmp 1f
lac argv0+1
sad chdirstr+1
skp
jmp 1f
lac argv0+2
sad chdirstr+2
jmp changedir
```
这个逻辑表明它会匹配像`chd`这样的字符串——因为只比较了前3个字符(`argv0`,`argv0+1`,`argv0+2`)。
然而,当我在SIMH中运行Unix V0时,我只能让`ch`工作——`chd`似乎并没有被识别为命令。这似乎与shell源代码所暗示的相矛盾。
有没有人见过`chd`在早期Unix shell中被记录或工作的情况?
我很想听听其他探索过这一层Unix考古学的人的看法。
我们发布了一份详细的架构蓝图,旨在构建一个共生的人类与人工智能系统,该系统声称能够产生可验证的客观真理。这个前提故意具有挑衅性,我们发布它的目的就是希望社区能够对其核心论点进行严格的驳斥。欢迎所有批评意见。
<p>https://github.com/TheSeaGoose/The-Library-of-Truth
我们都有一些信息需要反复发送,比如介绍、跟进和回复。<p>但为什么要从记事本中复制粘贴呢?<p>使用Slashit应用程序,您可以将这些信息保存为动态模板。下次只需输入一个词,填写所需内容,您的消息就会自动生成。<p>这既简洁又灵活,速度也很快。