第1章 U N I X 基础知识
1.1 引言
所有操作系统都向它们运行的程序提供服务。典型的服务有执行新程序、打开文件、读文
件、分配存储区、获得当前时间等等,本书集中阐述了 U N I X操作系统各种版本所提供的服务。
以严格的步进方式、不超前引用尚未说明过的术语的方式来说明 U N I X 几乎是不可能的(可
能也会是令人厌烦的)。本章从程序设计人员的角度快速浏览 U N I X,并对书中引用的一些术语
和概念进行简要的说明并给出实例。在以后各章中,将对这些概念作更详细的说明。本章也对
不熟悉U N I X的程序设计人员简要介绍了U N I X提供的各种服务。
1.2 登录
1.2.1 登录名
登录 U N I X 系统时,先键入登录名,然后键入口令。系统在其口令文件,通常是
/ e t c / p a s s w d 文件中查看登录名。口令文件中的登录项由 7个以冒号分隔的字段组成:登录名,
加密口令,数字用户I D ( 2 2 4 ) ,数字组I D ( 2 0 ),注释字段,起始目录 ( / h o m e / s t e v e n s ) ,以及s h e l l
程序( / b i n / k s h )。
很多比较新的系统已将加密口令移到另一个文件中。第 6章将说明这种文件以及存取它们
的函数。
1.2.2 shell
登录后,系统先显示一些典型的系统信息,然后就可以向 s h e l l程序键入命令。s h e l l是一个
命令行解释器,它读取用户输入,然后执行命令,用户通常用终端,有时则通过文件 (称为
s h e l l脚本)向s h e l l进行输入。常用的s h e l l有:
• Bourne shell, /bin/sh
• C shell, /bin/csh
• KornShell, /bin/ksh
系统从口令文件中登录项的最后一个字段中了解到应该执行哪一个 s h e l l。
自V 7以来,Bourne shell得到了广泛应用,几乎每一个现有的U N I X系统都提供Bourne shell。
C shell是在伯克利开发的,所有 B S D 版本都提供这种s h e l l。另外,AT & T 的系统V/386 R3.2和
S V R 4 也提供C shell(下一章将对这些不同的U N I X版本作更多说明)。K o r n S h e l l是Bourne shell
的后继者,它由S V R 4 提供。K o r n S h e l l 在大多数U N I X系统上运行,但在S V R 4之前,通常它需
要另行购买,所以没有其他两种s h e l l流行。
本书将使用很多s h e l l 实例,以执行已开发的程序,其中将应用 Bourne shell和K o r n S h e l l都
具有的功能。