标题：UNIX基础教程（第二版）
基本信息
书名:UNIX基础教程(第二版) 
ISBN:730215440 
作者:龚汉明 肖俊才 刘伟 
出版社:清华大学出版社 
定价:32 
页数:349 
出版日期:2007-7-1 
版次: 1
开本:16 
包装:平装
简介
本书详细介绍了UNIX的基础知识，对UNIX操作系统中的概念进行了重点讲述，并配合实例加深
对概念的理解。主要内容包括：UNIX操作系统概述；常用的UNIX命令；UNIX文件系统；如何使用
UNIX编辑器编写文本；vi的使用；UNIX的进程管理；Shell基础编程；awk和sed的使用；账号管理、用户和系统安全；UNIX下的网络通信以及常用的UNIX网络服务等。
本书可作为高等院校计算机相关专业的教材，也非常适合UNIX初学者选用，对于系统管理员和有一定UNIX系统使用经验的用户，相信本书也是一本难得的参考书。
目录
第1章 UNIX操作系统概述 1
1.1 计算机系统组成 1
 1.1.1 计算机硬件系统 2
 1.1.2 计算机软件系统 4
1.2 什么是操作系统 5
 1.2.1 操作系统的概念 5
 1.2.2 操作系统的功能 6
1.3 UNIX操作系统的诞生和发展 7
 1.3.1 UNIX系统的诞生 7
 1.3.2 UNIX系统的发展 7
 1.3.3 UNIX 系统发展时间表 9
1.4 UNIX操作系统的特点 11
1.5 UNIX与Windows的比较 13
 1.5.1 Windows NT/2000/2003 13
 1.5.2 Windows服务器系统与
UNIX系统的区别 14
 1.5.3 UNIX和Windows
的市场竞争 15
 1.5.4 UNIX与Windows的进化 15
1.6 UNIX的未来 16
1.7 小结 16
1.8 习题 17
第2章 UNIX操作系统基础 18
2.1 UNIX操作系统结构 18
2.2 内核 19
2.3 Shell 19
 2.3.1 Shell的分类 20
 2.3.2 Shell编程 22
2.4 UNIX文件系统 22
 2.4.1 UNIX文件 23
 2.4.2 UNIX目录 25
 2.4.3 UNIX文件结构 26
2.5 应用程序 31
2.6 用户界面 31
 2.6.1 命令行用户界面 32
 2.6.2 图形用户界面 32
2.7 小结 34
2.8 习题 34
第3章 标准UNIX命令 36
3.1 了解命令 36
3.2 UNIX命令语法 38
 3.2.1 通配符 38
 3.2.2 重定向字符 38
 3.2.3 命令行选项 39
 3.2.4 管道符 39
 3.2.5 后台处理 39
3.3 UNIX系统的登录和退出 40
 3.3.1 登录 40
 3.3.2 修改口令 41
 3.3.3 退出 41
3.4 操作文件和目录的命令 42
 3.4.1 ls命令 42
 3.4.2 cp命令 43
 3.4.3 mv命令 44
 3.4.4 rm命令 44
 3.4.5 mkdir命令 45
 3.4.6 chdir (cd)命令 45
 3.4.7 rmdir命令 45
 3.4.8 pwd命令 45
 3.4.9 cat/more/less命令 45
 3.4.10 chmod命令 46
3.5 网络命令 47
 3.5.1 arp命令 47
 3.5.2 ping命令 48
 3.5.3 telnet命令 48
 3.5.4 ftp命令 49
 3.5.5 nslookup命令 50
3.6 系统状态命令 51
 3.6.1 w命令 51
 3.6.2 date命令 51
 3.6.3 ps命令 52
3.7 在线查询命令 53
3.8 小结 54
3.9 习题 55
第4章 UNIX文件系统 56
4.1 UNIX文件的概念 56
 4.1.1 什么是文件系统 57
 4.1.2 树形结构 58
 4.1.3 文件系统层次 58
 4.1.4 一些特殊的目录 60
4.2 文件类型 61
 4.2.1 普通文件、目录、设备
文件和链接 61
 4.2.2 静态文件和动态文件 63
4.3 文件系统结构 64
 4.3.1 文件系统布局 64
 4.3.2 查找和定位文件 67
4.4 文件的权限和存取 69
 4.4.1 权限和存取概述 69
 4.4.2 谁有存取一个文件的权利 69
 4.4.3 存取权限的类型 70
 4.4.4 授权与回收权限 70
4.5 管理设备文件 74
 4.5.1 初识设备文件 75
 4.5.2 设备文件分类 75
 4.5.3 /dev目录的布局 77
4.6 配置文件系统 79
 4.6.1 文件系统创建概述 79
 4.6.2 配置文件系统的步骤 79
 4.6.3 newfs命令 80
 4.6.4 加载新文件系统 81
 4.6.5 卸载一个文件系统 82
 4.6.6 自动加载文件系统 83
 4.6.7 CD-ROM文件系统 89
4.7 UNIX文件系统内部组织 89
 4.7.1 引导块 90
 4.7.2 超级块 90
 4.7.3 i-node列表块 91
 4.7.4 数据块 92
 4.7.5 UNIX定位文件的整体过程 92
 4.7.6 UNIX硬盘分区简介 93
4.8 文件系统的维护 96
 4.8.1 监控磁盘使用情况 96
 4.8.2 日常维护 97
 4.8.3 扩展一个卷组 100
 4.8.4 扩展逻辑卷的大小 100
 4.8.5 扩展一个文件系统 101
4.9 小结 102
4.10 习题 102
第5章 UNIX的编辑器 104
5.1 vi的基本概念 104
5.2 vi的基本操作 105
 5.2.1 设置终端 105
 5.2.2 启动vi 106
 5.2.3 进入输入模式 107
 5.2.4 退出输入模式 108
 5.2.5 退出vi 108
 5.2.6 在窗口中移动光标 109
 5.2.7 在编辑缓存中移动窗口 110
 5.2.8 修改文本 111
 5.2.9 删除文本 112
 5.2.10 取消更改和删除 112
5.3 一个实例教程 113
5.4 进一步了解vi 116
 5.4.1 搜索文本 116
 5.4.2 复制和移动文本 117
 5.4.3 工作缓冲区 118
 5.4.4 编辑多个文件 119
 5.4.5 插入Shell命令的输出 120
5.5 vi的设置选项 120
 5.5.1 设置vi选项 120
 5.5.2 显示当前设置 122
 5.5.3 vi 选项 123
5.6 应用vi 124
 5.6.1 编写vi宏 124
 5.6.2 实用的文本处理宏 126
5.7 使用emacs进行编辑 128
 5.7.1 设置终端 129
 5.7.2 启动emacs 130
 5.7.3 在emacs中创建文本 131
 5.7.4 退出emacs 131
 5.7.5 在窗口中移动光标 131
 5.7.6 移动缓冲区中的窗口 132
 5.7.7 删除文本 132
 5.7.8 emacs的帮助 132
5.8 简短的emacs实例 133
5.9 进一步了解emacs 136
 5.9.1 查找正文 136
 5.9.2 用emacs修改文本 137
 5.9.3 复制和移动文本 138
 5.9.4 在多窗口中编辑 138
5.10 得到emacs 139
5.11 小结 140
5.12 习题 140
第6章 UNIX进程控制 141
6.1 进程概述 141
 6.1.1 进程的基本概念 141
 6.1.2 父进程与子进程 142
 6.1.3 进程的状态 143
 6.1.4 进程间通信 144
6.2 UNIX进程的层次结构 145
 6.2.1 使用ps命令查看进程状态 145
 6.2.2 系统进程 147
 6.2.3 用户进程 148
6.3 UNIX进程调度 149
 6.3.1 进程优先级 149
 6.3.2 nice命令 149
 6.3.3 前台进程和后台进程 150
 6.3.4 将任务放在后台/前台运行 151
 6.3.5 nohup命令 152
 6.3.6 kill命令终止进程 152
6.4 作业调度 153
 6.4.1 作业调度的概念 153
 6.4.2 关于cron 154
 6.4.3 at和batch命令 154
 6.4.4 crontab命令 154
6.5 小结 155
6.6 习题 156
第7章 Shell 157
7.1 Shell的启动和主要功能 157
 7.1.1 Shell的启动 158
 7.1.2 Shell启动文件 158
 7.1.3 Shell的功能 160
7.2 各种UNIX Shell 161
 7.2.1 细说Shell的生平 161
 7.2.2 Bourne Shell 161
 7.2.3 C Shell 161
 7.2.4 Korn Shell 162
 7.2.5 TCSH 162
 7.2.6 BASH Shell 162
 7.2.7 Shell 的使用 164
7.3 选择Shell 164
 7.3.1 查看当前用户的默认Shell 164
 7.3.2 更改用户的默认Shell 165
7.4 Shell环境变量 165
 7.4.1 用户环境 165
 7.4.2 设置Shell变量 166
 7.4.3 两个重要的变量 167
 7.4.4 显示变量的值 168
 7.4.5 传送局部变量到环境 169
 7.4.6 传递变量给一个应用 170
7.5 配置Shell 171
 7.5.1 别名 171
 7.5.2 文件名自动完成 172
 7.5.3 命令的历史机制 173
 7.5.4 重新输入命令 174
 7.5.5 Shell内部命令和UNIX
命令 174
7.6 Shell的替代功能 175
 7.6.1 Shell 的替代功能简介 175
 7.6.2 Shell 变量存储 175
 7.6.3 变量替代 176
 7.6.4 命令替代 178
 7.6.5 波浪号替代 179
7.7 小结 180
7.8 习题 180
第8章 Shell编程 181
8.1 Shell编程基础 181
 8.1.1 概述 181
 8.1.2 shell程序举例 182
 8.1.3 传递数据给shell程序 183
 8.1.4 shell程序的参数 184
 8.1.5 特殊的shell变量—— #和* 185
 8.1.6 shift命令 186
 8.1.7 read命令 188
 8.1.8 其他技术 189
8.2 test及其他几个重要的命令 190
 8.2.1 返回值 190
 8.2.2 test 命令 191
 8.2.3 exit命令 196
 8.2.4 使用let命令进行算术计算 196
8.3 shell分支语句 198
 8.3.1 if语句 198
 8.3.2 if-else语句 199
 8.3.3 case语句 200
8.4 shell循环语句 201
 8.4.1 有关循环的简单介绍 202
 8.4.2 while语句 202
 8.4.3 until语句 205
 8.4.4 for语句 207
 8.4.5 break和continue语句 209
8.5 小结 210
8.6 习题 212
第9章 使用awk和sed 213
9.1 awk概述 213
 9.1.1 调用awk 215
 9.1.2 awk程序的基本结构 216
 9.1.3 awk使用标准的
输入/输出设备 217
 9.1.4 在多个文件中运行
awk程序 217
 9.1.5 多行awk程序 218
9.2 模式 218
 9.2.1 字符串模式 219
 9.2.2 复合模式 222
 9.2.3 范围模式 223
 9.2.4 数值模式 223
 9.2.5 开始与结束模式 224
9.3 动作 224
 9.3.1 变量 224
 9.3.2 内建变量 225
 9.3.3 数值运算符及其操作 227
 9.3.4 数组 228
 9.3.5 用户定义函数 229
 9.3.6 控制语句 230
9.4 输入 232
 9.4.1 从文件中读取输入 232
 9.4.2 从键盘读取输入 233
 9.4.3 从管道中读取输入 233
 9.4.4 在命令行上将参变量
传递给程序 234
 9.4.5 多行文件和记录分隔符 234
9.5 输出 235
 9.5.1 print 235
 9.5.2 printf 235
 9.5.3 传递输出到多个文件中 236
9.6 用Shell来运行awk 236
9.7 sed文件和sed命令 237
 9.7.1 sed 用法介绍 237
 9.7.2 保存sed输出 238
 9.7.3 使用sed在文件中查询
文本的方式 238
9.8 小结 239
9.9 习题 240
第10章 UNIX安全机制 241
10.1 系统安全的必要性 241
 10.1.1 计算机信息系统的
脆弱性 241
 10.1.2 安全威胁 242
 10.1.3 UNIX系统的安全管理 243
10.2 用户安全性 244
 10.2.1 口令保护 244
 10.2.2 文件保护 244
 10.2.3 目录许可 245
 10.2.4 umask命令 245
 10.2.5 设置用户ID和同组
用户ID许可 246
 10.2.6 cp、mv、ln和cpio命令 246
 10.2.7 su和newgrp命令 248
 10.2.8 文件加密 248
10.3 文件系统安全 248
 10.3.1 UNIX文件系统概述 248
 10.3.2 设备文件 249
 10.3.3 /etc/mknod命令 250
 10.3.4 安全考虑 251
 10.3.5 find命令 251
 10.3.6 secure程序 252
 10.3.7 ncheck命令 252
 10.3.8 安装和卸载文件系统 252
 10.3.9 系统目录和文件 253
10.4 安全相关文件 253
 10.4.1 /etc/passwd文件 253
 10.4.2 /etc/group文件 255
 10.4.3 /etc/profile文件 255
10.5 安全策略 256
 10.5.1 限制访问 256
 10.5.2 防火墙 257
 10.5.3 ACL(访问控制列表) 258
 10.5.4 监控系统文件 258
 10.5.5 加密安全工具 259
10.6 防火墙 260
 10.6.1 防火墙技术 260
 10.6.2 防火墙的类型 261
 10.6.3 先进的认证技术 264
10.7 系统管理员意识 264
 10.7.1 管理员登录安全 265
 10.7.2 保证系统安全 266
 10.7.3 root运行的进程 267
 10.7.4 增加、删除和移走用户 268
10.8 物理安全 269
10.9 小系统安全 270
10.10 小结 271
10.11 习题 273
第11章 UNIX网络通信 274
11.1 网络简介 274
 11.1.1 OSI分层模型 275
 11.1.2 TCP/IP协议简介 276
11.2 UNIX网络配置的相关文件 278
 11.2.1 网络地址 278
 11.2.2 接口名与IP地址
的映射 280
 11.2.3 子网掩码 280
 11.2.4 默认网关 282
11.3 网络命令 283
 11.3.1 ping命令 283
 11.3.2 ifconfig命令 283
 11.3.3 netstat命令 284
 11.3.4 finger命令 285
 11.3.5 route命令 286
11.4 小结 286
11.5 习题 286
第12章 UNIX网络服务与应用 287
12.1 域名解析 287
 12.1.1 三种主机名解析的比较 287
 12.1.2 DNS的工作原理 289
 12.1.3 DNS服务器配置实例 290
 12.1.4 DNS客户端的配置 298
 12.1.5 使用nslookup测试DNS 300
 12.1.6 DNS其他知识 302
12.2 WWW服务 303
 12.2.1 WWW服务和HTTP
的工作原理 303
 12.2.2 非持久连接和持久连接 305
 12.2.3 HTTP消息格式 307
 12.2.4 用户——服务器交互 310
12.3 文件传输 311
 12.3.1 FTP的工作原理 311
 12.3.2 FTP配置说明 313
 12.3.3 VSFTPD配置举例 322
 12.3.4 虚拟用户的配置 324
12.4 小结 325
12.5 习题 325
第13章 用户账号管理 326
13.1 用户账号 326
 13.1.1 用户与用户组 327
 13.1.2 用户账号的定义 327
 13.1.3 /etc/passwd文件 327
 13.1.4 /etc/group 文件 329
13.2 用户账号的创建、修改
和删除 330
 13.2.1 useradd 330
 13.2.2 groupadd 331
13.3 用户账号口令字管理 331
13.4 权限管理 333
 13.4.1 更改用户密码 333
 13.4.2 定制用户 334
13.5 系统管理员的角色 335
 13.5.1 什么是系统管理员 335
 13.5.2 硬件方面的职责 336
 13.5.3 软件方面的职责 336
 13.5.4 对用户的责任 337
13.6 小结 338
13.7 习题 338
附录 VMware下UNIX的安装 339
一、VMware的安装 339
二、使用VMware创建Solaris 10
虚拟机 341
三、Solaris 10的安装 344
参考文献 350