4.1.1 Shell起源

4.1.1 Shell起源

Shell是一种采用C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的消息传递给内核Kernel,内核将处理的结果输出给用户。Shell既然工作在Linux内核之上,那我们有必要了解一下Linux的相关知识。

Linux是一个免费使用和自由传播的类似UNIX一样的操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

1983年9月27日,Richard Stallman(理查德·斯托曼)发起GNU计划,其目标是创建一套完全自由的操作系统。为保证GNU软件可以自由地使用、复制、修改和发布,所有的GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款。GNU通用公共许可证(GNU General Public License,GPL),说白了就是不能当作商业用途。

GNU是GNU is Not Unix的递归缩写。UNIX是一个广泛使用的商业操作系统的名称。

1985年,Richard Stallman又创立了自由软件基金会(Free Software Foundation,FSF)来为GNU计划提供技术、法律以及财政支持。

1990年,GNU计划开发的主要项目有Emacs(文本编辑器)、GCC(GNU Compiler Collection,GNU编译器集合)、Bash以及一些UNIX系统的程序库和工具等。GCC是一套由GNU开发的编程语言编译器。

1991年,Linuxs Torvalds(林纳斯·托瓦兹)开发出与UNIX兼容的Linux操作系统内核并在GPL条款下发布。

1992年,Linux与其他GUN软件结合,完全自由的GNU/Linux操作系统正式诞生,简称Linux。1995年1月,Bob Young创办ACC公司,以GNU/Linux为核心,开发出RedHat Linux商业版。Linux基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。Linux基本思想与UNIX基本思想类似。