[shell学习笔记]基本概念(一)

学习资料:UNIX shell范例精解(第4版)

1.UNIX是一个多用户、多任务的操作系统。同一时间,多个用户在一台计算机上工作,共享其资源。


2.内核:一个系统引导时加载的程序。用于与硬件设备打交道,调度任务,管理内存和辅存。内核在系统引导时载入内存,管理系统直至关机。它创建和控制进程,管理内存、文件系统和通信等。内核以外的其它所有程序(包括shell程序)都保存在磁盘上。内核将这些程序加载到内存中运行,并在他们终止后清理系统。


3.shell是用户和内核之间的接口程序。解释并运行由命令行或脚本文件输入的命令,实现用户和内核间的交互。


4.shell工作流程:先解析命令行,再处理通配符、重定向、管道和作业控制,然后查找命令,找到后开始执行。


5.UNIX系统支持的3种主流shell:Bourne shell(AT&T shell)、C shell(Berkeley shell)、Korn shell(Bourne shell的一个扩展集)。
其中Bourne shell是标准的UNIX shell,用于系统管理。默认的Bourne shell命令提示符是$。
C shell增加了许多新的功能,比如命令行历史、别名、嵌入算术运算、文件名自动补全和作业控制。交互式用户喜欢C shell。默认的C shell命令提示符是%。
Korn shell是Bourne shell的一个扩展集,在增强改进C shell的基础上,添加了更多的功能。几乎完全向上兼容Bourne shell,默认的Korn shell提示符是$。


6.Linux默认shell是Bourne Again shell(bash)。默认的Bash提示符是$。另一个常用的shell是TC shell。默认的TC shell提示符是>。Z shell也是Linux一种shell,它结合了bash、TC shell和Korn shell的许多功能。


7.查看当前Linux有哪些版本shell: $ cat /etc/shells  (有可能是/etc/shell)


8.POSIX(操作系统标准),目标是在不同平台之间提供应用程序的可移植性标准,以便提供一个类UNIX的计算机环境。

9.系统启动过程:系统首先启动第一个进程init。init进程初始化系统,启动另一个进程打开终端线路并设置stdin、stdout和stderr,三种都与终端关联。完成这些设置后,终端上就会出现登陆提示。系统会在用户键入用户名后提示输入口令。程序/bin/login通过检查/etc/passwd文件的首个字段来确认用户的身份。如果键入的用户名存在,它会运行一个密码程序来对所键入的口令进行确认。口令验证通过后,login程序设置初始环境。初始环境是一组定义工作环境的变量,这组变量将传给shell。变量HOME、SHELL、USER和LOGNAME根据passwd文件中的信息进行赋值。HOME被设为用户的主目录,SHELL则被设为登录shell的名字,即passwd文件中德最后一列。USER和LOGNAME被赋值为登录名。还设置了变量search path,常用的工具程序可以在该变量指定的目录中找到。login程序结束时执行它在passwd文件最后一列中找到的程序。这个程序通常是一个shell。如果passwd文件最后一列是/bin/csh,执行的是C shell。如果是/bin/sh或为空,则执行Bourne shell。被执行的shell称为登录shell。
    shell启动后,先查找由系统管理员设置的系统级的初始化文件,然后在用户的主目录中查找是否存在对应的shell初始化文件。如果存在,就会执行这些文件。这些初始化文件用于进一步定制用户环境。在执行完这些初始化文件之后,就可以启动窗口界面的开发环境,如CDE、Gnome、KDE等。接着,将显示一个虚拟桌面,该桌面的显示基于配置、控制台以及显示shell提示符的伪终端,此时shell正处于等待输入状态。


10.shell解析命令行流程:在命令提示符后输入一条命令后,shell会读入这个命令行并对命令行进行解析,将其分解为词(token)。token之间用空格或制表符分隔,命令行以换行符结尾。接下来,shell检查第一个词是否为内置命令或磁盘上的可执行程序。如果是内置命令,shell就在自己内部执行它。否则,shell将在路径变量所指的目录中查找这个程序。如果找到了命令的程序,shell就创建一个进程来执行它。之后,shell进入睡眠(或等待)状态直至程序执行完毕。shell会根据需要报告程序的退出状态。此时,屏幕上又会出现命令提示符,等待下一个命令行的输入。

posted on 2012-04-02 21:57  Parallel Life  阅读(428)  评论(0编辑  收藏  举报

导航

友荐云推荐