上QQ阅读APP看书,第一时间看更新
1.1 简介
起初,计算机从卡片或磁带中读入程序并生成单个报表。没有操作系统,也没有图形化显示器,甚至连交互式提示符都没有。
到了20世纪60年代,计算机开始支持使用交互式终端(通常是电传打字设备或高级打字机)来调用命令。
当贝尔实验室为全新的Unix操作系统创建了交互式用户界面之后,计算机便拥有了一项独有的特性。它可以从文本文件(称为shell脚本)中读取并执行命令,就好像这些命令是在终端中输入的一样。
这种能力是生产力上的一次巨大飞跃。程序员们再也不用输入一堆命令来执行一系列操作,只需要把这些命令保存在文件中,随后轻敲几次按键运行这个文件就可以了。shell脚本不仅节省了时间,而且清楚明白地表明了所执行的操作。
Unix刚开始只支持一种交互式shell,它是由Stephen Bourne所编写的Bourne Shell(sh)。
1989年,GNU项目的Brian Fox吸收了大量其他用户界面的特性,编写出了一种全新的shell:Bourne Again Shell(bash)。bash shell与Bourne Shell完全兼容,同时又增添了一些来自csh、ksh等的功能。
随着Linux成为最流行的类Unix操作系统实现,bash shell也变成了Unix和Linux中既成事实的标准shell。
本书关注的是Linux和bash。即便如此,书中的大部分脚本都可以运行在使用了bash、sh、ash、dash、ksh或其他sh风格shell的Linux和Unix系统中。
本章将带领读者熟悉shell环境并演示一些基本的shell特性。