《最新Unix程序设计与编程技巧》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:阮戈,林巍编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7302045003
  • 页数:476 页
图书介绍:

第一部分 Unix编程基础 1

第1章Unix操作系统概述 1

1.1 Unix系统的历史 2

1.1.1 Unix的产生与发展 2

1.1.2 Unix的分支 2

小结 3

1.2 Unix操作系统的用户基础 4

1.2.1 操作系统 4

1.2.2 初次使用Unix操作系统 4

1.2.3 文件系统 6

1.2.4 程序和进程 8

1.2.5 Unix系统管理 10

小结 11

第2章Unix下的编程环境 12

2.1 vi的使用 13

2.1.1 概述 13

2.1.2 vi的命令 14

小结 16

2.2 编译器和调试工具 16

2.2.1 编译器 17

2.2.2 调试工具 19

小结 27

2.3 make工具及makefile规则 28

2.3.1 make程序概述 28

2.3.2 makefile内部规则 33

小结 34

第3章 shell简介及shell编程 35

3.1 shell概述 36

3.2 shell的标准输入/输出及重定向 37

3.2.1 shell的标准输入/输出 37

3.2.2 输入/输出重定向 37

3.2.3 管道线 39

3.3 进程控制 40

3.4 通配符、特殊字符和转义字符 41

3.5 shell程序脚本设计 43

3.5.1 shell程序脚本的基本结构 43

3.5.2 如何执行shell程序 43

3.5.3 shell变量 44

3.5.4 条件测试 46

3.5.5 控制流结构 50

3.5.6 shell函数 53

3.5.7 脚本的调试 53

小结 54

第4章 Unix下几种重要的工具 55

4.1 正则表达式 56

4.1.1 概述 56

4.1.2 正则表达式的使用 56

小结 60

4.2 模式搜索程序grep 61

4.2.1 怎样使用grep 61

4.2.2 行匹配 62

4.2.3 精确匹配 62

4.2.4 正则表达式匹配 63

小结 64

4.3 流编辑程序sed 64

4.3.1 怎样使用sed 64

4.3.2 怎样通过sed查询文本 65

4.3.3 怎样通过sed编辑文本 65

小结 69

4.4 非常实用的数据加工和检索工具awk 69

4.4.1 基本概念和基础操作 70

4.4.2 其他重要概念 72

4.4.3 应用于awk编程脚本的动作流程控制 75

4.4.4 与其他命令及shell一起使用awk 78

小结 78

第二部分 Unix下的C语言高级编程 79

第5章 Unix系统结构 79

5.1 Unix层次结构 80

5.2 Unix内核特点 81

5.3 系统调用和库函数 81

第6章 文件子系统 82

6.1 文件子系统的基本概念 83

6.1.1超级块 83

6.1.2 索引节点 84

6.1.3 文件的多重索引结构 85

6.1.4 目录文件 86

6.1.5 索引节点和磁盘分配与释放 87

小结 88

6.2 文件的基本操作 89

6.2.1 文件描述符 89

6.2.2 文件的创建和删除 89

6.2.3 文件的打开和关闭 94

6.2.4 文件的读/写操作 97

6.2.5 文件的随机存取 100

6.2.6 综合应用实例 102

小结 105

6.3 文件高级操作 105

6.3.1 文件的模式 106

6.3.2 文件控制 109

6.3.3 目录文件操作 122

6.3.4 文件信息查询 129

6.3.5 链接——Link和Symlink系统调用 133

6.3.6 综合应用实例 136

小结 141

6.4 设备文件操作 141

6.4.1 设备文件基础知识 141

6.4.2 两个系统调用——mknod和ioctl 143

6.4.3 终端设备操作 144

6.4.4 设备驱动程序的编写 152

6.4.5 硬、软盘设备操作 175

小结 180

第7章 进程控制 181

7.1 进程的基本概念 182

7.1.1 进程的结构 182

7.1.2 进程状态及其转换 184

7.1.3 系统调度简介 185

小结 186

7.2进程的控制 186

7.2.1进程的建立——fork系统调用 186

7.2.2 执行新程序——exec系统调用 188

7.2.3 进程的终止——exit系统调用 191

7.2.4 进程的同步——wait系统调用 192

7.2.5 悬挂进程——sleep系统调用 195

7.2.6进程控制的综合实例 195

小结 202

7.3 进程的高级操作 202

7.3.1 进程标识号管理 202

7.3.2 进程的用户标识号管理 204

7.3.3 进程的环境管理 205

小结 207

7.4 守护进程 207

7.4.1 守护进程及其特性 207

7.4.2 守护进程的编程规则 208

7.4.3 守护进程实例 210

7.4.4 守护进程的错误输出 211

小结 213

第8章 进程间的通信 214

8.1 IPC一瞥 215

8.2 信号 216

8.2.1 信号的基本知识 216

8.2.2 信号类型 218

8.2.3 内核对信号的处理 220

8.2.4 信号的基本操作 222

8.2.5 信号的其他操作 231

8.2.6 信号的阻塞 236

小结 240

8.3 管道和FIFO 240

8.3.1 管道 240

8.3.2 有名管道——FIFO 248

8.3.3 字符流的分隔 255

小结 256

8.4 System V消息队列 256

8.4.1 System V IPC 256

8.4.2 消息队列基本概念 258

8.4.3 操作消息队列的系统调用 260

8.4.4 迭代客户-服务器实例 265

8.4.5 并发客户-服务器实例 269

小结 272

8.5信号量 273

8.5.1 信号量的基本概念 273

8.5.2 信号量的操作 274

8.5.3 一个实例semtool 276

8.5.4 利用信号量实现对记录的上锁 282

小结 284

8.6 共享内存段 284

8.6.1 共享内存段的基本概念 284

8.6.2 共享内存段的操作 285

8.6.3 共享内存段应用实例 287

小结 289

第9章 Socket网络编程 290

9.1 网络基础知识 291

9.1.1 计算机网络的概念 291

9.1.2 网络分层结构 291

9.1.3 TCP/IP协议集 292

小结 295

9.2 基本Socket编程 296

9.2.1 套接口Socket概念简介 296

9.2.2 套接口Socket使用简介 297

9.2.3 套接口地址结构 298

9.2.4 IP地址和如何使用IP地址 299

9.2.5 套接口编程的基本系统调用 300

9.2.6 简单Client-Server实例 307

9.2.7 I/O多路复用——select 调用 314

9.2.8 套接口选项 316

9.2.9 TCP的Proxy实例 322

9.2.10 非阻塞I/O 329

9.2.11 套接口超时 341

小结 343

9.3 高级Socket编程 343

9.3.1 inetd守护进程 343

9.3.2 带外数据 348

9.3.3 线程简介 353

9.3.4 原始套接口 358

第三部分 Unix下的其他开发语言 378

第10章 Perl编程简介 378

10.1 Perl的简介 379

小结 380

10.2 标量及其运算 380

10.2.1 标量 380

10.2.2 标量的运算 382

小结 384

10.3 Perl的语法 384

小结 385

10.4 列表、数组和关联数组 385

10.4.1 列表 385

10.4.2 列表数组 385

10.4.3 关联数组 386

小结 390

10.5 子程序 390

小结 392

10.6 文件以及文件系统的操作 392

10.6.1打开和关闭文件 393

10.6.2 读文件和写文件 393

10.6.3命令行参数的运用 393

10.6.4 判断文件状态 394

10.6.5 文件系统的操作 395

小结 397

10.7 Perl的流控制 397

10.7.1 条件判断 397

10.7.2 循环语句 398

小结 401

10.8 Perl的指针——引用 401

10.8.1 引用的概念 401

10.8.2 对简单标量变量的引用 402

10.8.3 对列表数组的引用 403

10.8.4 关联数组的引用 404

10.8.5 参数的引用 406

10.8.6 子程序的引用 407

10.8.7 文件句柄的引用 408

小结 408

10.9 Perl与Unix系统的互动操作 409

小结 410

第11章 PHP3编程简介 411

11.1 PHP的简介 412

11.1.1 PHP的诞生与发展 412

11.1.2 PHP的特点 413

11.1.3 PHP的编译 413

小结 414

11.2 PHP的变量 414

11.2.1 内部变量 415

11.2.2 动态变量 417

11.2.3 外部变量 417

小结 418

11.3 变量类型的转换 418

11.3.1 强制类型转换 419

11.3.2 字符串转换 419

小结 419

11.4 PHP的运算符 420

11.4.1 三重运算符 420

11.4.2 算术运算符 420

11.4.3 条件运算符 420

11.4.4 一元运算符 421

11.4.5 位运算符 421

11.4.6 字符串连接运算符 422

11.4.7 逻辑运算符 422

11.4.8 赋值运算符 424

小结 425

11.5 PHP的程序结构 425

11.5.1 表达式 425

11.5.2 语句 426

11.5.3 函数 426

小结 428

11.6 PHP的类 428

小结 430

第12章 Java编程 431

12.1 Java的产生与发展 432

12.1.1 Java的历史 432

12.1.2 Java的特点 432

12.1.3 Java的应用 433

小结 434

12.2 Java程序的编译、调试和运行 434

12.2.1 JDK简介 434

12.2.2 如何编译和调试Java源程序 434

12.2.3 如何执行Java源程序 435

小结 436

12.3 Java数据类型及运算 436

12.3.1 Java的数据类型 436

12.3.2 数据类型转换 438

12.3.3 数据运算符 439

小结 443

12.4 Java数组 443

12.4.1 一维数组 443

12.4.2 多维数组 446

小结 449

12.5 Java的对象、类、包和接口 449

12.5.1 对象、类、方法和消息之间的关系 449

12.5.2 继承和多态性 450

12.5.3 Java的类 451

12.5.4 Java的对象 456

12.5.5 Java的包 458

12.5.6 Java的接口 460

12.5.7 完整的Java源文件 462

小结 463

12.6 Java的程序流控制 463

12.6.1 分支语句 463

12.6.2 循环语句 467

12.6.3 异常事件处理语句 470

12.6.4 注释语句 471

小结 471

12.7 Java的线程控制 471

12.7.1 线程 471

12.7.2 构造一个线程体 473

12.7.3 同步与共享 475

小结 476