2024-07-27 计算机Shell的历史发展

Shell和电传打字机

Shell和电传打字机之间有着有趣的历史联系。这个关系反映了早期计算机交互方式的演变。让我详细解释一下:

  1. 电传打字机的角色:

    • 早期计算机终端:在图形显示器普及之前,电传打字机常被用作计算机终端。
    • 输入输出设备:用户通过电传打字机输入命令,计算机的输出也通过电传打字机打印出来。
    • 模型:常用的型号包括Teletype Model 33和Model 35。
  2. 对早期Shell的影响:

    • 交互方式:Shell的行编辑和命令处理方式很大程度上源于电传打字机的工作方式。
    • 输出格式:早期Shell输出格式考虑到了电传打字机的打印限制。
    • 控制字符:许多Shell使用的控制字符(如Ctrl+C中断)源自电传打字机时代。
  3. 技术限制及其影响:

    • 速度限制:电传打字机的打印速度较慢,影响了早期Shell的设计和使用方式。
    • 单向通信:大多数电传打字机不支持光标移动,这影响了早期命令行编辑的能力。
    • 纸质输出:由于输出是直接打印在纸上,错误更正和命令修改相对困难。
  4. 术语遗留:

    • "TTY":在Unix/Linux系统中,"TTY"(Teletypewriter)仍用来指代终端设备。
    • 行缓冲:许多Shell默认使用行缓冲输出,这是电传打字机时代的遗留。还有其他缓冲方式
  5. 从电传打字机到现代终端:

    • CRT显示器:逐渐取代电传打字机,允许更灵活的屏幕操作。
    • 虚拟终端:现代操作系统中的终端模拟器保留了许多电传打字机时代的概念。
  6. 对Shell发展的长期影响:

    • 命令语法:许多Shell命令的简洁语法可追溯到电传打字机时代,为节省纸张和时间而设计。
    • 交互模式:尽管现代Shell具有更多高级特性,但基本的交互模式仍然类似于电传打字机时代。

电传打字机时代塑造了早期Shell的许多特性,其影响一直延续到今天。尽管技术已经大大进步,但了解这段历史有助于理解现代Shell的设计理念和某些看似古怪的特性。

Shell历史发展

  1. 早期命令行接口(1960s):

    • 最初的计算机使用简单的命令行接口,如 CTSS(Compatible Time-Sharing System)。
  2. Unix Shell(1971):

    • Ken Thompson 为 Unix 创建了第一个 Unix shell,称为 Thompson shell。
  3. Bourne Shell(1977):

    • Stephen Bourne 开发了 Bourne Shell(sh),成为 Unix 系统的标准 shell。
  4. C Shell(1978):

    • Bill Joy 创建了 C Shell(csh),引入了命令行编辑、命令历史等新特性。
  5. Korn Shell(1983):

    • David Korn 开发了 Korn Shell(ksh),结合了 Bourne Shell 和 C Shell 的特性。
  6. Bash(1989):

    • Brian Fox 为 GNU 项目创建了 Bash(Bourne Again Shell),成为许多 Linux 发行版的默认 shell。
  7. Z Shell(1990):

    • Paul Falstad 开发了 Z Shell(zsh),提供了更多高级特性和定制选项。
  8. PowerShell(2006):

    • Microsoft 发布 PowerShell,为 Windows 环境提供了强大的脚本和自动化能力。
  9. Fish(2005):

    • Axel Liljencrantz 创建了 Fish(Friendly Interactive Shell),注重用户友好性和易用性。
  10. 现代发展:

    • 各种 shell 持续evolve,增加新特性,提高性能和用户体验。
    • 图形用户界面(GUI)的普及,但命令行界面在系统管理和开发中仍然重要。

每种 shell 都有其独特的特性和语法,反映了不同时期的技术需求和设计理念。它们的发展历程展示了计算机交互方式的演进,从简单的命令输入到复杂的脚本语言和自动化工具。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • 1、前身 1971年,贝尔实验室的Ken Thompson为UNIX开发了第一种shell,称为V6 shell。...
    玉宁龙阅读 1,412评论 0 0
  • 什么是Shell Shell应该是命令解释器,将Shell脚本解析成操作系统能理解的操作去执行。Shell脚本就是...
    乔伯阅读 2,447评论 2 8
  • 关于Shell 为了能对shell能够有整体的认识,我们需要先简单介绍下Linux系统 。 Linux系统 Lin...
    QiShare阅读 2,261评论 0 2
  • 为了能对shell能够有整体的认识,我们有必要先简单介绍下Linux系统 。 Linux系统 Linux 系统主要...
    沐灵洛阅读 322评论 0 1
  • 本文为Linux Shell Scripting Tutorial (LSST) v2.0学习记录 第一章 本章节...
    面面的徐爷阅读 2,536评论 0 2