Linux一般有四个主要部分:内核、Shell、文件结构和实用工具。
1. Linux内核
内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受命令并把命令送给内核去执行。
2. Linux Shell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
Linux提供了像Microsoft Windows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多窗口管理器,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。
每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。
同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell:
Bourne Shell:是贝尔实验室开发的。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。
3. Linux文件结构
文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限,设置文件的共享程度。
使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。Linux目录采用多级树形结构,图1.1表示了这种树形等级结构。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。
文件结构的相互关联性使共享数据变得容易,几个用户可以访问同一个文件。Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。图1.1中那些根目录下的目录就是系统目录。
内核,Shell和文件结构一起形成了基本的操作系统结构。它们使得用户可以运行程序,管理文件以及使用系统。此外,Linux操作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。
4. Linux实用工具
标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。
实用工具可分三类:
编辑器:用于编辑文件。
过滤器:用于接收数据并过滤数据。
交互程序:允许用户发送信息或接收来自其他用户的信息。Linux的编辑器主要有:Ed、Ex、Vi和Emacs。Ed和Ex是行编辑器,Vi和Emacs是全屏幕编辑器。
Linux的过滤器(Filter)读取从用户文件或其他地方的输入,检查和处理数据,然后输出结果。从这个意义上说,它们过滤了经过它们的数据。Linux有不同类型的过滤器,一些过滤器用行编辑命令输出一个被编辑的文件。另外一些过滤器是按模式寻找文件并以这种模式输出部分数据。还有一些执行字处理操作,检测一个文件中的格式,输出一个格式化的文件。 过滤器的输入可以是一个文件,也可以是用户从键盘键入的数据,还可以是另一个过滤器的输出。过滤器可以相互连接,因此,一个过滤器的输出可能是另一个过滤器的输入。在有些情况下,用户可以编写自己的过滤器程序。
交互程序是用户与机器的信息接口。Linux是一个多用户系统,它必须和所有用户保持联系。信息可以由系统上的不同用户发送或接收。信息的发送有两种方式,一种方式是与其他用户一对一地链接进行对话,另一种是一个用户对多个用户同时链接进行通讯,即所谓广播式通讯。