Kernel
系统内核用于在计算机启动时载入基本内存、 管理基本输入输出、管理进程初始化和进程的调度。
Shell 
系统的命令解释器,用于操作系统与用户的通信,相当于Dos中的command.com。Red Hat Linux 默认的shell 是Bash !
Shell与系统及子进程的层次关系
                                         + - - - - - - - - - - - - - - - - - - - - -  +
                                         |                   用户进程                  |
                                         | + - - - - - - - - - - - - - - - - - - - -+  |
                                         |  |                 shell                       |   |
                                         |  | + - - - - - - - - - - - - - - -- - -+  |   | 
                                         |  |  |              Kernel                 |   |   |
                                         |  |  | + - - - - - - - - - - - - - - -+  |   |   |
                                         |  |  |  |          Hardware          |  |   |   |  
                                         |  |  | + - - - - - - - - - - - - - - -+  |   |   |
                                         |  | + - - - - - - - - - - - - - - - - - +   |   |
                                         | + - - - - - - - - - - - - - - - - - - - - +  |
                                         + - - - - - - - - - - - - - - - - - - - - - -+
Terminal Emulator 用户交互的窗口界面
终端模拟器是用户shell运行的平台,在终端模拟器上用户可以交互的操作系统及运行程序并得到提示和反馈,就像在文本编辑器中一样。
X Window 以C/S模式提供的图形界面接口
在X中操作,你会重新找回Windows的感觉。当然不只是这样Red Hat Linux中图形界面的易用性已经有了显著的提高,并且通过像GTK+和QT这样的开
放的开发工具包,你好可以创立自己的图形应用程序。
Window Manager 提供图形功能
Window manager是个可以帮你移动窗口和改变它们大小的程序。它通常也支持把一个窗口缩成一个图标或任务条。通常有某种程序执行机构。用户
可以使用window manager来做他想做的——任何X应用程序应该可以在任何窗口管理器上工作。但是你一次只能能运行一个Window Manager。也就是
说,你可以切换于任何多个window manager,但是同一时刻你只能运行一个。屏幕上的所有程序都可以被正在运行的window manager管理。
Desktop Environment 桌面环境
GNOME和KDE不是窗口管理器(它们是桌面环境)。KDE是和一个叫KWM的窗口管理器一起的。GNOME则没和任何窗口管理器做在一起,你可以使用任何
你想用的窗口管理器,虽然有一些是特地为GNOME写的(Enlightenment就是一个)。但是它
 
Bash是GNU计划的一个组件。
与Unix上的Bourne Shell完全兼容。
支持命令行输入、操作历史查询、快捷键、使用变量等功能们都需要X来运行 。
在Linux里有很多的变量,大致可分为3种:
环境变量
内部变量
用户变量
用户可以通过这些变量获得系统、环境的信息
 
环境变量相当于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的环境变量相关。
比如PATH, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到由PATH变
量定义的目录中去查找
 
用户变量是用户在编写shell过程中,可以在shell程序内任意使用和修改的变量。(以字母或下划线开头,通常字母是大写母)
赋值:变量名=变量值
获取变量值  ${变量名}
例:VAR=hello rhce  ;赋值        echo ${VAR}       ;显示变量值
使用echo完成简单地输出
echo “hello  world”
VAR=“hello”
echo ${VAR} world
也可以使用printf来产生各种格式的输出
printf “hello\nworld\n”
read
从标准输入读取数据来为var1这个变量赋值
-p输出提示字符
read -p "Enter a filename: " FILE