GNU = GNU's Not Unix
OSS = open source software
最初的Linux缺少实用工具来实现标准功能
GNU组织开发了一套完整的Unix实用工具,但是缺少用于支撑其运行的内核系统
由此,Linux内核 + GNU操作系统实用工具 构成了一个完整的Linux操作系统
或者说:Linux = Linux内核 + GNU实用工具
GNU项目旨在为Unix系统管理员打造出一套可用的类Unix环境。
供Linux使用的这组核心工具被称为:coreutils(core utilities)软件包——GNU coreutils 软件包:
- 文件实用工具
- 文本实用工具
- 进程实用工具
shell
shell - 一种交互式文件
shell的核心是命令提示符,负责shell的交互部分,允许用户输入文本命令,然后解释命令并在内核中执行。
shell允许在命令提示符中输入程序的名称,它会将程序名称传递给内核以启动程序。
shell脚本:存放多个shell命令的文件。
在Linux系统中,有许多种shell,而所有Linux发行版默认的shell都是bash shell。
bash shell 由 GNU开发,被作为标准Unix shell的替代品。 = Bourne again shell
Bourne shell 以其创建者得名。
其他流行的shell:
- ash:轻量级shell,运行在内存环境受限的环境中,与bash shell完全兼容
- korn:支持关联数组与浮点算数等高级特性
- tcsh:一种将C语言中的一些元素引入shell脚本的shell
- zsh:一种结合了bash、tcsh、korn的特性,同时提供高级编程特性、共享历史文件和主题化提示符的高级shell