前 言 1
第一章 引言 1
1.1 工作站简介 1
一、什么是工作站 1
目录 1
二、工作站的种类 2
三、工作站的典型应用领域 4
1.2工作站的软件环境 4
一、UNIX的历史 9
第二章 UNIX操作系统 9
2.1 UNIX的变迁及特点 9
二、UNIX的特点 10
三、UNIX内核源程序结构特点 12
2.2 UNIX系统基本概念 12
一、用户帐户 12
二、UNIX的文件 13
三、UNIX的命令 18
2.3 UNIX系统的初步使用 19
四、UNIX命令的输入和输出 19
二、登录 20
一、进入和退出UNIX系统 20
三、改变口令 21
四、注销 21
五、显示和修改日期 22
六、校正键入错误 23
七、联机文献 23
十、输入一先行缓冲区 24
十一、查看日历 24
九、暂停程序显示 24
八、停止程序执行 24
2.4文件和目录管理 25
一、目录管理 25
二、文件管理 28
三、改变属主及存取权 33
2.5 Shell 35
一、shell的输入输出重定向 36
三、三通管(tee) 38
二、管道(pipe) 38
四、shell元字符 39
五、过程的调用 41
六、shell程序中的变量和参数 41
七、命令替换 48
八、状态标志 49
九、命令和语句 50
十、定义函数 63
十一、.profile文件 64
十二、Shell编程示例 65
2.6 文本处理 68
一、对文本进行字符转换(tr) 68
二、加密/解密文件(crypt) 69
三、查找拼写错误(spell) 70
四、选择或摈弃两个文件的公共行(comm) 71
五、比较两个文件的差别(diff) 72
六、文件的模式匹配(grep族) 74
七、文件行、字、字符计数(wc) 75
九、排序或合并文件(sort) 76
八、文件分段(split) 76
十、删除文件中的重复行(uniq) 79
十一、比较两个文件是否相同(cmp) 80
十二、文本截取与粘贴(cut和paste) 80
十三、UNIX文本编辑 83
2.7状态查询 83
一、谁在系统中(who) 83
二、显示终端名字(tty) 83
四、显示系统名(uname) 84
三、确定文件类型(file) 84
五、查询磁盘用途(du) 85
六、检查磁盘剩余空间(df) 85
七、查询各用户占用空问(quot) 86
2.8 UNIX进程及程序运行 86
一、后台进程( ) 86
二、监视进程状态(ps) 87
三、终止进程执行(kill) 89
四、不受干扰地运行命令(no hup) 91
五、改变命令优先级(nice) 91
七、等待进程结束(wait) 92
六、暂停程序执行(sleep) 92
八、测试命令运行时间(time) 93
九、指定程序运行时间(at) 93
十、低开销提交运行(batch) 95
十一、cron设施 95
2.9 UNIX系统的通信 97
一、电子邮件系统(mail) 97
二、通知所有用户(wall) 103
四、接受或拒绝信息(mesg) 104
三、用户直接对话(write) 104
五、读取当前事件(news) 105
六、网络通信简介 105
2.10设备管理 106
一、磁盘和磁带管理 106
二、终端管理 111
三、打印机管理 114
2.11 UNIX深入讨论 121
一、文件系统浏览 121
二、UNIX中的SHELL 122
三、UNIX系统的引导和初始化 123
四、关于用户帐户 125
五、系统记帐 127
2.12 关于Sun工作站 128
一、SunOS的文件系统 128
二、SunOS的结构和组成 131
三、SunOS的窗口系统 133
四、SunOS上的图形 135
附录2.1 UNIX系统的主要命令 135
一、AWK概述 142
第三章 UNIX实用工具 142
3.1 AWK 142
二、应用AWK 151
3.2 LEX 168
一、使用lex编程 169
二、运行lex 174
3.3 YACC 175
一、概述 176
二、多义性和冲突 180
三、优先级 181
四、错误处理 183
五、应用YACC 184
六、YACC性能讨论 187
七、二个YACC实例 190
3.4 MAKE 200
一、make的基本操作 201
二、make工作过程 203
三、说明文件的组成 204
四、隐式规则 205
五、动态相关函数 206
第四章X11/NeWS服务器及协议 208
4.1 几个概念 208
一、POSTSCRIPT语言 208
二、服务器和客户(Server and Client) 208
三、油画布(Canvases) 210
4.2 X11/NeWS服务器 211
一、XViewOLIT和NeWS Toolkits 211
三、应用程序 212
二、概念说明 212
4.3 使用X11协议 213
一、X协议简介 213
二、X11实用程序 214
三、不被支持的X11特征 215
四、从X11客户显示POSTSCRIPT映像 215
五、运行远程客户程序 217
六、与DECnet的网际联系 218
九、关于X11程序的注意事项 219
八、编译源程序 219
七、要避免的X11风格 219
4.4 使用NeWS协议 220
一、NeWS编程浏览 221
二、连同服务器使用的POSTSCRIPT语言文件 224
三、NeWS实用程序 224
四、NeWS初始化文件 225
五、修改.startup.ps文件 226
六、修改.user.ps字典 227
七、UserProfile字典 228
八、运行NeWS程序 230
九、编译源文件 232
第五章 OpenWindOWS环境 234
5.1 鼠标 234
5.2启动OpenWindoWs 237
一、设置OPENWINHOME环境变量 237
二、运行install—filemgr和install_cmgr 237
三、安装GFX系统软件 238
四、xinitrc文件 238
五、启动X11/NeWS服务器 239
六、排除错误 240
5.3 使用工作台菜单 241
一、启动OpenWindows 241
二、工作台 241
三、工作台菜单 242
5.4 使用OpenWindoWs工具 244
一、文件管理器 246
二、邮件工具 280
三、日历管理器 307
四、文本编辑器 327
五、打印工具和磁带工具 337
六、快照 346
七、时钟和性能仪 351
八、计算器 353
九、约束器 362
5.5使用图标 368
一、图标操作 368
二、图标编辑器 371
5.6 使用窗口 380
一、外壳工具 384
5.7外壳工具和命令工具 384
二、命令工具 386
三、控制台 388
四、解决困难 389
5.8 在线帮助 389
5.9定做OpenWindoWs环境 389
一、工作台的特性窗口 390
二、颜色类 390
五、杂类 392
三、图标类 392
四、菜单类 392
六、鼠标设置类 393
附录5.1 桌面集环境应用程序系统参考 394
第六章SunVieW环境 446
6.1 SunVieW初步 446
一、启动SunView 446
二、打开和关闭框架 447
三、使用文本编辑器 448
四、选择文本 451
五、保存新文件 454
六、SunView菜单 455
七、再谈启动SunView 455
八、退出SunView 456
6.2 进一步了解SunVieW 457
一、再谈屏幕解锁 457
二、加速器概念 457
三、在多个框架中工作 458
四、重新安排屏幕 459
五、装载一个文件 463
六、滚卷 464
七、显示和移动字符 466
八、查找和替换文本 467
九、卷折(wrap)文本中的长行 469
十、一些建议 470
6.3键盘 472
一、键盘类型 472
三、“左手习惯”的键盘使用 474
二、怎样标记键盘 474
四、“Click—to—Type”方式键盘聚焦 475
五、4型键盘 477
六、将功能映射到键 478
6.4 框架和窗口 483
一、框架解剖 483
二、文本窗口 484
三、命令窗口 486
四、面板 486
六、油画布 488
五、终端窗口 488
七、管理多重框架 489
6.5 选择 489
一、鼠标、鼠标定位光标、加字符和块光标 489
二、基本文本选择 491
三、基本编辑操作 493
四、拷贝、粘贴和裁除 494
五、取消编辑 498
六、使用连按(Multi—Clicking)方式选择 498
七、辅助选择 499
八、Pending—Delelte方式文本选择 501
九、用辅助文本选择快速编辑 502
十、文本处理方式比较 506
十一、使用get—selection 506
6.6滚卷 507
一、滚卷条解析 508
二、基本滚卷 508
三、直接滚卷 509
一、菜单概述 510
6.7 菜单 510
二、SunV iew菜单 512
三、改制用户的SunView菜单 513
四、框架菜单 515
五、文本菜单 520
六、File?右拉菜单 520
七、Edit?右拉菜单 522
八、Display?右拉菜单 526
九、Find?右拉菜单 529
十、Extras?右拉菜单 531
十一、定做你的Extras?菜单 533
十二、Cmd Modes?右拉菜单 533
十三、终端菜单 534
6.8 加速器 535
一、功能键加速器 535
二、鼠标按钮加速器 537
三、键盘加速器 537
四、删除加速器 538
五、加字符加速器 538
六、菜单加速器 540
七、其它的键盘加速器 541
八、SunOS 3.X键盘加速器 542
九、报警按钮加速器 542
6.9缺省值编辑器 543
一、进入缺省值编辑器 543
二、退出缺省值编辑器 543
三、缺省值编辑器窗口 543
四、类畴浏览 545
五、改变缺省值 546
六、一些有趣的缺省设置 547
七、编辑缺省行 548
6.10工具 548
一、启动一个工具 550
二、工具名交叉引用表 550
三、外壳(Shell) 551
四、编辑器 554
五、其它工具 559
附录6.1命令行参数 563
附录6.2 SunView使用快速参考 564
7.1 面向对象的程序设计 571
一、抽象数据类型 571
第七章 工作站编程基础 571
二、类、对象和封装 573
三、类等级 576
四、多态性 578
五、面向对象的问题求解 579
六、划分软件为类 580
七、将概念和实现转变成类等级 582
一、C标准库 583
7.2 C语言开发环境 583
二、系统调用 585
三、C语言编译器 586
四、C源程序格式整理(cb) 586
五、C程序检查器(lint) 587
六、调试工具 588
7.3 图形用户界面(GUI) 589
一、OSF/Motif简介 590
二、OPEN LOOK与Motif的比较 591