1.1.1什么是操作系统 1
7.4 shell循环语句 1 9 1
目 录 1
7.2.2 test命令 1 8 1
1.1 操作系统 1
第1章UNIX操作系统概论 1
1.1.2操作系统的功能 2
1.2 UNIX的诞生和发展 3
1.2.1 UNIX系统的诞生 3
1.2.2 UNIX System V 4
1.2.3伯克利软件发行(BSD) 5
1.2.4 XENIX系统 6
1.3 UNIX的特点 6
1.4 UNIX系统发展时间表 7
1.5 UNIX系统的几个变种 8
1.5.1 Linux 9
1.5.2 Solaris 10
1.5.3 SCO UNIX和UnixWare 10
1.5.4 System V Release 5 11
1.5.5 IRIX 11
1.5.6 HP-UX 11
1.5.8 AIX 12
1.5.9 A/UX 12
1.5.7 ULTRIX、DEC OSF/1、Digital UNIX及tru64 UNIX 12
1.6 UNIX的未来 13
1.7小结 13
1.8 习题 14
第2章UNIX操作基础 15
2.1 概述 15
2.1.2 shell 16
2.1.1 内核 16
2.1.3 UNIX文件结构 17
2.1.4应用程序:编辑器、过滤器和通信程序 18
2.2.1 UNIX文件 20
2.2文件和目录 20
2.2.2 UNIX目录 21
2.2.3 文件结构 22
2.3 常用命令 27
2.3.1文件/目录处理的命令 27
2.3.2进程处理命令 30
2.3.3字符串处理命令 31
2.3.4联机查询命令 31
2.3.5 网络命令 32
2.4.1 shell的分类 35
2.4 shell 35
2.3.6更改个人使用资料的命令 35
2.4.2 shell编程 36
2.5 UNIX的其他部分 37
2.5.1 vi编辑器 37
2.5.2 UNIX的图形用户界面:Motif和OPEN LOOK 37
2.6 小结 39
2.7 习题 40
第3章 UNIX系统的安装和升级 41
3.1 Solaris的特点 41
3.1.1供非商业用户免费使用 42
3.1.2兼容性和可移植性 42
3.1.3 网络支持 43
3.1.5 Solaris的应用程序 44
3.1.4完整的Java开发环境 44
3.2.1升级前的准备 45
3.2 升级UNIX系统 45
3.2.2升级 46
3.3.1预安装 47
3.3 安装Solaris 47
3.3.2配置计算机以启动Solaris 51
3.3.3进行安装 53
3.4启动与关闭系统 59
3.4.1系统的启动 59
3.4.2系统的关闭 63
3.5 小结 64
3.6 习题 64
第4章UNIX文件系统 66
4.1文件系统概论 66
4.1.2树型结构文件系统 67
4.1.1什么是文件系统 67
4.1.3文件系统层次 68
4.1.4 目录名称 70
4.1.5一些特殊的目录 72
4.2管理文件 73
4.2.1什么是文件 74
4.2.2文件的描述 75
4.2.3排队打印缓冲系统 77
7.2.1 返回值 1 80
4.2.4链接 80
4.3文件的权限和存取 81
4.3.2谁有存取一个文件的权利 82
4.3.3存取权限的类型 82
4.3.1权限和存取概述 82
4.3.4权限的更改 83
7.2.3 exit命令 1 86
4.4.1文件系统分类 87
4.4文件系统的分类和布局 87
4.4.2文件系统布局 88
7.3.1 if语句 1 88
4.4.3帮助定位的几个命令 91
4.5配置设备文件 92
4.5.1初识设备文件 92
4.5.2设备文件分类 93
4.5.3/dev目录的布局 95
4.6配置文件系统 97
4.6.1文件系统创建概述 97
4.6.2创建文件系统 98
4.6.3 newfs命令 98
4.6.4装载文件系统 99
4.6.5卸载文件系统 100
4.6.6自动装载文件系统 101
4.6.7 CD-ROM文件系统 102
4.7.1文件系统的更新 103
4.7修复文件系统 103
4.7.2 内存缓冲区 104
4.7.3运行fsck 105
4.7.4检查lost+found 106
4.8文件系统的维护 107
4.8.1监控磁盘使用情况 107
4.8.2 日常维护 108
4.8.3扩展卷组 109
4.8.5扩展文件系统 110
4.8.4扩展逻辑卷 110
4.9 小结 111
4.10习题 112
第5章 UNIX的编辑器 113
5.1 vi的基本概念 113
5.2 vi的基本操作 114
5.2.1设置终端 114
5.2.2启动vi 115
5.2.3进入输入模式 116
5.2.4退出输入模式 117
5.2.5退出vi 117
5.2.6在窗口中移动光标 118
5.2.7在编辑缓存中移动窗口 119
5.2.8修改文本 120
5.2.9删除文本 121
5.2.10取消更改和删除 121
5.3一个实例教程 122
5.4进一步了解vi 125
5.4.1搜索文本 125
5.4.2复制和移动文本 126
5.4.3工作缓冲区 127
5.4.4编辑多个文件 128
5.5.1设置vi选项 129
5.4.5插入shell命令的输出 129
5.5 vi的设置选项 129
5.5.2显示当前设置 131
5.5.3 vi选项 132
5.6应用vi 133
5.6.1 编写vi宏 133
5.6.2实用的文本处理宏 135
5.7使用emacs进行编辑 137
5.7.1 设置终端 138
5.7.2启动emacs 139
5.7.3 在emacs中创建文本 140
5.7.4退出emacs 140
5.7.5在窗口中移动光标 140
5.7.6移动缓冲区中的窗口 141
5.7.7删除文本 141
5.7.8 emacs的帮助 141
5.8简短的emacs实例 142
5.9进一步了解emacs 145
5.9.1 查找正文 145
5.9.2用emacs修改文本 146
5.9.3复制和移动文本 147
5.9.4在多窗口中编辑 147
5.10得到emacs 148
5.12习题 149
5.11 小结 149
6.1 shell介绍 150
第6章shell概述 150
6.1.1常用的shell 151
6.1.3 别名 152
6.1.2 POSIX shell的特性 152
6.1.4文件名自动完成 153
6.1.6重新输入命令 154
6.1.5命令的历史机制 154
6.2.1 用户环境 155
6.2 shell变量 155
6.2.2设置shell变量 156
6.2.3两个重要的变量 157
6.2.4常用的变量赋值 158
6.3 shell的替代功能 159
6.3.1 shell的替代功能简介 159
6.3.2 shell变量存储 159
6.3.3变量替代 160
6.3.4命令替代 162
6.3.5波浪号替代 163
6.4变量的操作 164
6.4.1显示变量的值 164
6.4.2传送局部变量到环境 165
6.4.3传递变量给一个应用 166
6.5 启动中的shell 166
6.5.1 在登录的时候发生了什么 166
6.5.2 shell启动文件 167
6.5.4命令的查找——whereis 169
6.5.3 shell内部命令和UNIX命令 169
6.6 小结 169
6.7习题 170
7.1 shell编程基础 171
7.1.1概述 171
第7章shell应用 171
7.1.2 shell程序举例 172
7.1 .3传递数据给shell程序 173
7.1.4 shell程序的参数 174
7.1.5一些特殊的shell变量——#和* 175
7.1.6 shift命令 176
7.1.7 read命令 178
7.1.8其他技术 179
7.2 test及其他几个重要的命令 180
7.2.4使用let进行算术计算 186
7.3 shell分支语句 188
7.3.2 if-else结构 189
7.3.3 ease结构 190
7.4.2 while语句 192
7.4.1循环的简单介绍 192
7.4.3 until语句 195
7.4.4 for语句 197
7.4.5 break和continue语句 199
7.5 小结 201
7.6 习题 202
第8章awk的使用 203
8.1 awk概述 204
8.1.1模式、操作和字段 205
8.1.2用awk使用标准的输入输出设备 206
8.1.3在多个文件中运行awk程序 207
8.1.4多行awk程序 207
8.2模式 208
8.2.1字符串模式 208
8.2.2复合模式 212
8.2.3 范围模式 212
8.2.4数值模式 213
8.2.5开始与结束模式 213
8.3动作 214
8.3.1 变量 214
8.3.2内建变量 214
8.3.3数值运算符及其操作 216
8.3.4数组 217
8.3.5用户定义函数 218
8.3.6控制语句 219
8.4输入 221
8.4.1从文件中读取输入 222
8.4.2从键盘读取输入 222
8.4.3从管道中读取输入 223
8.4.4在命令行上将参变量传递给程序 223
8.4.5多行文件及记录分隔符 224
8.5输出 224
8.5.1 print 224
8.5.2 printf 225
8.5.3传递输出到多个文件中 225
8.6 用shell运行awk 225
8.7 awk程序可能出现的错误 226
8.8.1基础:使用awk读取字段的内容 227
8.8一个使用awk的简单实例 227
8.8.2更多的内建变量 228
8.8.3试试不同的模式 228
8.8.4试试其他操作 229
8.9 小结 230
8.10习题 230
第9章用户账号管理 231
9.1 系统管理员的角色 231
9.1.1 什么是系统管理员 231
9.1.2硬件方面的职责 231
9.1.3软件方面的职责 232
9.2创建和管理用户账号 233
9.1.4对用户的责任 233
9.2.1用户与用户组 234
9.2.2用户账号的定义 234
9.2.3/etc/passwd文件 234
9.2.4/etc/group文件 236
9.2.5使用命令行管理用户账号 237
9.2.6使用命令行方式更改用户的密码 238
9.3定制用户账号 239
9.3.1 定制用户账号的原因 240
9.3.2定制用户账号 242
9.4 小结 244
9.5 习题 244
10.1 网络基本概念 245
10.1.1局域网与广域网 245
第10章 UNIX通信原理 245
10.1.2网络连接中的OSI模型 247
10.1.3 IP地址 249
10.1.4主机名 251
10.1.5 TCP与UDP 252
10.2网络硬件概述 252
10.2.1 LAN硬件设备 253
10.2.2传输媒介 253
10.2.3 LAN拓扑结构 255
10.2.4 LAN的存取方式 256
10.2.5几种重要的标准 256
10.2.6几种重要的设备 258
10.3 DNS域名解析 260
10.3.2 DNS概述 261
10.3.1解析主机名为IP地址 261
10.3.3 DNS层次化的域名空间 262
10.3.4公共和私有的域名空间 262
10.3.5域名服务器 263
10.3.6在本域中解析主机名 263
10.3.7在其他域中解析主机名 265
10.3.8配置主域名服务器 265
10.3.9配置辅域名服务器 268
10.3.10配置DNS客户端 270
10.3.11 使用nslookup测试DNS 272
10.3.12 DNS其他知识 273
10.4 UNIX FTP服务 275
10.4.1匿名FTP 275
10.4.3 设置仅可以进行FTP连接的账号 276
10.4.2系统中其他用户的FTP访问 276
10.5.1网络图 277
10.5配置IP连通性 277
10.5.2启动脚本文件 278
10.5.3/etc/rc.config.d/netconf文件 278
10.5.4 ifconfig命令 279
10.5.5 IP多路技术 280
10.5.6/etc/hosts文件 282
10.6 小结 283
10.7习题 284
第11章UNIX网络应用 285
11.1基础知识 286
11.1.1 Internet域寻址方式 286
11.1.2 UUCP路径寻址方式 287
11.2.2接收电子邮件 288
11.2 发送和接收电子邮件 288
11.2.1 发送电子邮件 288
11.2.3收到电子邮件的通知 289
11.2.4 自动接收电子邮件 290
11.3二进制邮件和档案文件 291
11.3.1编码二进制 291
11.3.2 MIME 293
11.4在线通信:write和talk 294
11.4.1 直接连接:write 294
11.4.2交互通信:talk 295
11.5 电子邮件程序mailx 296
11.5.1发送电子邮件 296
11.5.2接收电子邮件 302
11.5.3 mailx别名、选项及邮件初始化文件 313
11.6 Gopher 318
11.6.1 Gopher菜单 319
11.6.2 Gopher书签 321
11.6.3 Veronica 322
11.6.4 Gopher配置文件 323
11.7 小结 325
11.8 习题 326
第12章用户与编程安全 327
12.1 用户安全 327
12.1.1 口令安全 327
12.1.2文件许可权 328
12.1.3 目录许可 328
12.1.6 cp、mv、ln和cpio命令 329
12.1.4 umask命令 329
12.1.5设置用户ID和同组用户ID许可 329
12.1.7 su和newgrp命令 331
12.1.8文件加密 331
12.1.9其他安全问题 331
12.2 UNIX设备访问安全 334
12.3 防火墙 336
12.3.1什么是防火墙 336
12.3.2防火墙的组成 337
12.3.3代理和网关 337
12.4 小结 338
12.5 习题 340
13.1 安全管理 341
第13章 系统管理员安全 341
13.2超级用户 342
13.3文件系统安全 342
13.3.1 UNIX文件系统概述 342
13.3.2设备文件 343
13.3.3/etc/mknod命令 344
13.3.4安全考虑 344
13.3.5 find命令 345
13.3.6 secure程序 346
13.3.7 ncheck命令 346
13.3.8安装和拆卸文件系统 346
13.4作为root运行的程序 347
13.4.1 启动系统 347
13.3.9系统目录和文件 347
13.4.2 init进程 348
13.4.3进入多用户 348
13.4.4 shutdown命令 348
13.4.5 System V的cron程序 348
13.4.6 System V Ⅱ之后的cron程序 349
13.4.7/etc/profile 349
13.5/etc/passwd文件 349
13.5.1 口令时效 350
13.5.2 UID 350
13.6/etc/group文件 351
13.7安全检查 351
13.7.1 记账 352
13.7.2其他检查命令 352
13.7.3安全检查程序的问题 353
13.7.4系统泄密后怎么办 354
13.8加限制的环境 355
13.8.1加限制的shell(rsh) 355
13.8.2用chroot()限制用户 356
13.9小系统安全 356
13.10物理安全 357
13.11 用户意识 358
13.12系统管理员意识 359
13.12.1 保证系统管理员个人的登录安全 359
13.12.2保证系统安全 360
13.12.3增加、删除、移走用户 362
13.13 UNIX黑客攻击 363
13.13.1 TCP/IP协议的安全漏洞 363
13.13.2黑客攻击网络信息系统的手段 364
13.14防火墙 365
13.14.1防火墙技术 365
13.14.2防火墙的类型 366
13.14.3先进的认证技术 369
13.15 小结 369
13.16习题 369
第14章 UNIX系统下的Java 371
14.1 Java基础知识 371
14.1.1 Java虚拟机 371
14.1.2应用程序和小程序 372
14.1.3 Java的类和对象 372
14.1.4面向对象程序的基本概念 372
14.2一个简单的Java应用程序 373
14.2.1生成源文件 373
14.1.5 JDK 373
14.2.2编译源文件 374
14.2.3 调用Java解释器 374
14.3 Java程序的特色 374
14.3.1 注释 374
14.3.2常用数据类型 375
14.3.3操作符 376
14.3.4控制语句 378
14.3.5静态方法和静态参数 381
14.3.6 new操作符 382
14.3.7变量和方法的实例 382
14.3.8如何创建一个简单的类 383
14.3.9类的继承 384
14.3.10方法的覆盖 385
14.3.11 接口 387
14.3.12包 389
14.4一个小程序 390
14.4.1 创建HTML源文件 390
14.4.2创建和编译Java源文件 390
14.4.3调用小程序浏览器 391
14.5抽象的可视工具包 391
14.6事件处理 392
14.7 异常 393
14.8多线程程序 395
14.9未尽的内容 396
14.10 小结 397
14.11 习题 397
参考文献 399