"Unix高级编程,经典Unix开发教程,涵盖了Unix操作系统的各项服务,包括登录、口令文件、shell及不同类型的shell程序等基础知识。"
在深入探讨Unix高级编程之前,我们首先需要理解Unix的基础知识。Unix操作系统为运行在其上的程序提供了丰富的服务,如执行程序、管理文件、分配内存、获取时间等。这本书旨在详细阐述Unix系统的服务及其使用方法,不过由于Unix的复杂性和相互关联性,完全按顺序讲解可能会过于繁琐,因此作者在第一章中进行了概述,并穿插了一些基本概念和示例。
登录Unix系统时,用户需要输入登录名和口令。口令文件,通常位于/etc/passwd,包含了用户的登录信息,包括加密后的口令、用户ID、组ID、注释、起始目录以及指定的shell程序。某些现代系统会将加密口令存储在其他安全文件中,这些将在后续章节中详细讨论。
登录后,用户会进入shell环境,shell是一个命令行解释器,它接收用户的输入并执行相应的命令。用户可以通过终端直接输入命令,也可以创建shell脚本,即包含一系列命令的文本文件,让shell按顺序执行。Unix中常见的shell有:
1. Bourneshell,/bin/sh - 是最基础且广泛使用的shell,几乎所有Unix系统都支持。
2. Cshell,/bin/csh - 由伯克利开发,常见于BSD系统中,具有与C语言相似的语法。
3. KornShell,/bin/ksh - 建立在Bourneshell基础上,增加了许多功能和改进,被许多系统采用,包括System V/386R3.2和SVR4。
每个用户的shell类型由口令文件中的最后一个字段指定。Bourneshell自V7 Unix以来就广泛使用,而Cshell和KornShell分别在BSD和AT&T的System V家族中流行。KornShell在Bourneshell的基础上增加了许多特性,提高了用户体验。
后续章节将会深入介绍Unix的不同版本,如BSD和System V,以及如何使用和编程这些shell,包括文件管理、进程控制、输入输出重定向、管道和变量等核心概念。通过学习这些内容,开发者能够熟练地在Unix环境中编写高效的程序和服务。