"Unix环境高级编程"
《Unix环境高级编程》是一本深入讲解Unix操作系统的经典著作,被广泛认为是Unix领域的权威指南。该书详细介绍了Unix操作系统为开发者提供的各种服务和功能,旨在帮助读者理解并熟练掌握Unix系统编程。
1.1 引言
在操作系统层面,Unix提供了丰富的服务,包括执行程序、管理文件、内存分配、获取系统时间等。书中以程序员的视角出发,逐步介绍Unix的各种概念和机制,同时避免超前引用未解释的术语,确保读者能够逐步理解其复杂的体系结构。
1.2 登录与Shell
1.2.1 登录名与口令文件
当用户登录Unix系统时,需要输入登录名和口令。这些信息存储在/etc/passwd文件中,包含7个字段,如登录名、加密口令、用户ID、组ID、注释、起始目录和Shell程序路径。某些现代系统将加密口令移到单独的安全文件中,这将在第6章进一步讨论。
1.2.2 Shell
登录成功后,用户会进入Shell环境,这是一个命令行解释器,负责处理用户的命令输入。常见的Shell类型有Bourne shell (/bin/sh)、C shell (/bin/csh)和Korn shell (/bin/ksh)。Shell程序的选取基于/etc/passwd文件中指定的路径。Bourne shell自Unix V7以来广泛使用,而C shell在BSD系统中常见,Korn shell则是Bourne shell的一个增强版本,提供了更多的功能和兼容性。
1.2.3 Unix版本差异
不同Unix版本之间存在差异,例如,Berkeley Software Distribution (BSD)系统通常包含C shell,而AT&T的System V/386R3.2和SVR4也支持C shell。此外,Korn shell作为Bourne shell的升级版,在许多系统中被采用,因为它结合了Bourne shell的简洁性和C shell的易用性。
通过深入学习《Unix环境高级编程》,读者不仅可以理解Unix的基本工作原理,还能掌握编写高效Unix程序所需的技能,包括文件操作、进程管理、网络通信等。这本书对于任何想要在Unix平台上进行系统级编程的开发者来说都是不可或缺的参考资料。