欢迎来到天天文库
浏览记录
ID:27672821
大小:218.55 KB
页数:14页
时间:2018-12-05
《unix环境高级编程--第1章unix基础知识》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、发信人:scircle(yuanyuan),信区:Security标题:unix环境高级编程--第1章UNIX基础知识发信站:BBS水木清华站(ThuMar2316:41:472000)11=引言所有操作系统都向它们运行的程序提供服务。典型的服务是执行一道新程序、打开一个文件、读一个文件、分配一个存储区、获得当前吋间等等,本书的焦点是说明各种Unix操作系统版本所提供的服务。以严格的步进方式,不超前引用尚未说明过的术语来说明Unix儿乎是不可能的(可能也会是令人厌烦的)。本章从程序设计人员的角度快速周游Unix,我们将对书中引用的一些术语和概念进行简要的说明并给示实
2、例。在以后各章中,我们将对这些作更详细的说明。本章也对不熟悉Unix的程序设计人员介绍、概述Unix提供的各种服务。12=登录(LoggingIn)登录名当我们向Unix系统登录时,先键入登录名,然后键入口令字。系统在其口令文件,通常是/etc/passwd文件中查看我们的登录名。在口令文件中的登录项,由7个以冒号分隔的字段组成:登录名,加密口令字,数字用户1D(224),数字组ID(20),注释字段,起始目录(/home/stevens),以及shell程序(/bin/ksh)。很多比较新的系统己将加密口令字移到另一个文件屮。在第六章,我们将说明这种文件,以及存取
3、它们的函数。shell我们登录后,系统先典型地显示一些消息,然后我们就可以向shell程序键入命令oshell是一个命令行解释器,它读用户输入,然后执行命令,用户通常用终端,有吋则通过文件(称为shell脚本)向shell进行输入。常用的shell是:•Bourneshell,/bin/sh•Cshcll,/bin/csh-Komshel1,/bin/ksh系统从口令字文件屮与我们相关的登录项的最后一个字段了解到应为我们执行那一个shell。自Version7(第七版)以来,一直在使用Bourneshell,几乎每一个现存的Unix系统都提供Bourneshell。
4、CShell是在Berkeley(W克莱)开发的,所有BSD版本都提供这种sheik另外,Cshell也由AT&T系统V386R32和系统VR4(SVR4)提供,(在下一章,我们将对这些不同的Unix版本作更多说明。KomShell是Bourneshell的后继者,它由SVR4提供。Komshell在大多数Unix系统上运行,但在SVR4之前,通常它需要另行购买,所以没有其它两种shell流行。Bourneshell是由SteveBourne在Bell实脸室巾开发的其控制流结构使人想起Alg0I68CShell是在贝克莱由BillJoy完成的,其基础是第6版shel
5、l(不是Bourneshell)。其控制结构很象C语言,它支持了一些Bourneshell没有提供的功能-作业控制,历史机制和命令行编辑。Komshell是由DavidKorn在Bell实验室中开发的,它兼容Bourneshell,并且也包含了使Cshell非常流行的一些功能-作业控制、命令行编辑等。在全书中,我们都会使用这种形式的注释以说明历史沿革,并对不同的Unix实现进行比较。当说明了历史缘由后,常常使得采用一种特定实现技术的理由变得淸晰起来。在全书屮,我们将使用很多shell实例,以执行我们己开发的程序,其屮将应用BoumcshclI和Komshell都具有
6、的功能。13=文件和目录文件系统(Filesystem)Unix文件系统是目录和文件的一种分层次的安排,目录的起点称为根(mot),其名字是一个字符/。一个目录是一个包含目录项的文件,在逻辑上,我们可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。文件属性是:文件类型,文件长度,文件属主,文件的许可权(例如,其他用户能否存取该文件?)文件的最后修改时间等。stat和fstat函数返回一个包含所有文件属性的信息结构。在第四章中,我们将详细说明文件的各种属性0文件名(Filename)一个目录中的各个名字称为文件名。不能山现在文件名中的字符只有两个,它
7、们是斜线(/)和空操作(mill)字符,斜线分隔构成路径名(在下面说明)的各文件名,空操作符则终止一个路径名,尽管如此,一个好的习惯是只使用印刷字符的一个子集作为文件名字符(只使用子集的理由是:如果在文件名巾使川了某些shell特殊字符,则必须使用shell的引号机制来引用文件名)。当创建一个新目录吋,自动创建了两个文件名:(称为点)和(称为点-点)。点引用当前目录,点-点则引用文目录。在最高层次的根目录中,点-点与点相同。某些Unix文件系统限制文件名的最大长度为14个字符,BSD版本则将这种限制扩展为255个字符。-路径名(Palhname)0个或多个以斜线
此文档下载收益归作者所有