UNIX环境高级编程.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:552 大小:13.3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

UNIX环境高级编程.pdf

UNIX环境高级编程.pdf

预览

免费试读已结束,剩余 542 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第1章XINU基础知识1.1引言所有操作系统都向它们运行的程序提供服务。典型的服务有执行新程序、打开文件、读文件、分配存储区、获得当前时间等等,本书集中阐述了操作系统各种版本所提供的服务。XINU以严格的步进方式、不超前引用尚未说明过的术语的方式来说明XINU几乎是不可能的(可能也会是令人厌烦的)。本章从程序设计人员的角度快速浏览XINU,并对书中引用的一些术语和概念进行简要的说明并给出实例。在以后各章中,将对这些概念作更详细的说明。本章也对不熟悉的程序设计人员简要介绍了XINUXINU提供的各种服务。1.2登录1.2.1登录名登录XINU系统时,先键入登录名,然后键入口令。系统在其口令文件,通常是/etc/passwdwssap/cte/文件中查看登录名。口令文件中的登录项由7个以冒号分隔的字段组成:登录名,加密口令,数字用户)422(DI,数字组,注释字段,起始目录)02(DI)snevets/emoh/(,以及llehs(/bin/ksh)程序hsk/nib/(。很多比较新的系统已将加密口令移到另一个文件中。第6章将说明这种文件以及存取它们的函数。1.2.2shell登录后,系统先显示一些典型的系统信息,然后就可以向llehs程序键入命令。是一个llehs命令行解释器,它读取用户输入,然后执行命令,用户通常用终端,有时则通过文件(称为shelllehs脚本)向进行输入。常用的llehs有:llehs•Bourneshell,/bin/sh•Cshell,/bin/csh•KornShell,/bin/ksh系统从口令文件中登录项的最后一个字段中了解到应该执行哪一个。llehs自以来,7VBourneshell得到了广泛应用,几乎每一个现有的系统都提供XINUBourneshell。Cshell是在伯克利开发的,所有DSB版本都提供这种llehs。另外,AT&T的系统V/386R3.2和SVR4RVS也提供Cshell(下一章将对这些不同的XINU版本作更多说明)是lleh。SBournenshellroK的后继者,它由4RVS提供。llehSnroK在大多数XINU系统上运行,但在4RVS之前,通常它需要另行购买,所以没有其他两种llehs流行。本书将使用很多llehs实例,以执行已开发的程序,其中将应用Bourneshelllleh和SnroK都具有的功能。更多电子书教程下载请登陆http://down.zzbaike.com/ebook本站提供的电子书教程均为网上搜集,如果该教程涉及或侵害到您的版权请联系我们。Bourneshell是SteveBourne在贝尔实验室中开发的,其控制流结构使人想起Algol68。Cshell是在伯克利由BillJoy完成的,其基础是第6版llehs(不是enruoB)llehs。其控制结构很像C语言,它支持一些Bourneshell没有提供的功能,如作业控制,历史机制和命令行编辑。llehSnroK是DavidKorn在贝尔实验室中开发的,它兼容Bourneshell,并且也包含了使Cshell非常流行的一些功能,如作业控制、命令行编译等。本书将使用这种形式的注释来描述历史,并对不同的XINU实现进行比较。当我们了解了历史缘由后,采用某种特定实现技术的原因将变得清晰起来。1.3文件和目录1.3.1文件系统UNIXINU文件系统是目录和文件的一种层次安排,目录的起点称为根)toor(,其名字是一个字符/。目录(yrotcerid)是一个包含目录项的文件,在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。文件属性是:文件类型,文件长度,文件所有者,文件的许可权(例如,其他用户能否能访问该文件),文件最后的修改时间等。tats和tatsf函数返回一个包含所有文件属性的信息结构。第4章将详细说明文件的各种属性。1.3.2文件名目录中的各个名字称为文件名(emanelif)。不能出现在文件名中的字符只有两个,斜线)/(和空操作符(llun)。斜线分隔构成路径名(在下面说明)的各文件名,空操作符则终止一个路径名。尽管如此,好的习惯是只使用印刷字符的一个子集作为文件名字符(只使用子集的理由是:如果在文件名中使用了某些特殊字符,则必须使用llehsllehs的引号机制来引用文件名)。当创建一个新目录时,自动创建了两个文件名:(.称为点)和(..称为点-点)。点引用当前目录,点-点则引用父目录。在最高层次的根目录中,点-点与点相同。某些文件系统限制文件名的最大长度为XINU41个字符,DSB版本则将这种限制扩展为552个字符。1.