《Linux程序设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:严冰,刘加海编著
  • 出 版 社:杭州:浙江大学出版社
  • 出版年份:2012
  • ISBN:9787308095693
  • 页数:486 页
图书介绍:Linux程序设计一书总共分13章,主要内容为:Linux常用命令、SHELL程序设计、Linux C程序设计基础、Linux环境下系统函数的使用、文件I/O操作、进程控制、进程间的通信、线程、Linux的图形编程、设备驱动程序设计基础、终端I/O通信、程序设计应用实例.目前,市面上关于Linux软件工程师方面的书籍种类很多,下面对这些书籍作一个简单的评价:1、适合LINUX的初学者的书不多;2、什么都写入,迷失了程序设计主题;3、大量介绍编译的参数,gcc介绍完了,基本上书也结束了;4、没有考虑读者的心理活动,没有进一步的思考;5、没有考虑工程的思想,不实用。

第1章Linux基本命令 1

1.1 shell基础 1

1.2 shell命令基础 3

1.2文件系统命令 11

1.3文件管理工具 24

1.4文件权限与文件共享 27

1.5进程、管道和重定向 32

思考与实验 39

第2章shell编程 44

2.1 bash脚本的建立和运行 44

2.1.1 bash脚本的建立 44

2.1.2运行 bash脚本 45

2.2 shell的变量 45

2.2.1环境变量和用户定义变量 45

2.2.2变量声明和赋值 46

2.2.3变量引用和引号使用 48

2.2.4命令替换 49

2.2.5输入命令 49

2.3 shell脚本位置参数的传递 50

2.4控制结构语句 52

2.4.1 if-then-elif-else-fi语句 52

2.4.2 for语句 54

2.4.3 while语句 56

2.4.4 until语句 57

2.4.5 case语句 58

2.5其他几个有用的语句 59

2.5.1 break和continue语句 59

2.5.2 exit语句 59

2.5.3 printf语句 60

2.6数值处理 61

2.6.1 let命令 62

2.6.2$((expression))扩展 62

2.6.3 expr命令 63

2.7数组 65

2.8函数 67

2.9调试脚本程序 70

2.10综合实例 71

思考与实验 82

第3章Linux系统C语言开发工具 84

3.1第一个Linux C语言程序 84

3.2编译C语言程序 85

3.2.1 gcc编译器 85

3.2.2函数库 87

3.3 make工具 90

3.3.1 make命令 90

3.3.2 make规则 90

3.3.3 Makefile中的变量 92

3.4 gdb调试工具 93

思考与实验 100

第4章Linux环境下系统函数的使用 103

4.1数学函数的使用 103

4.2字符函数的使用 107

4.3系统时间与日期函数的使用 109

4.4环境控制函数 113

4.5内存分配函数 116

4.6数据结构中常用函数 121

思考与实验 125

第5章 文件I/O操作 126

5.1 Linux系统文件的属性 126

5.1.1 Linux文件类型 127

5.1.2 Linux文件权限 129

5.1.3 Linux文件的其他属性 133

5.2不带缓存的文件I/O操作 135

5.2.1文件的创建 135

5.2.2文件的打开和关闭 136

5.2.3文件的读写操作 138

5.2.4文件上锁 144

5.3带缓存的流文件I/O操作 149

5.3.1流文件的打开和关闭 150

5.3.2流文件的读写操作 152

5.3.3文件的定位 158

5.4特殊文件的操作 160

5.4.1目录文件的操作 160

5.4.2链接文件的操作 165

思考与实验 167

第6章 进程控制 170

6.1进程简介 170

6.2 Linux进程控制 171

6.2.1进程的相关函数 173

6.2.2进程创建 173

6.2.3进程终止 180

6.2.4僵尸进程 183

6.3 Linux守护进程 193

6.3.1守护进程及其特性 193

6.3.2编写守护进程的要点 194

6.3.3守护进程的编写 196

思考与实验 202

第7章 进程间的通信 204

7.1进程间的通信 204

7.2信号 205

7.2.1信号及其使用简介 205

7.2.2信号操作的相关函数 207

7.3管道 218

7.3.1低级管道操作 219

7.3.2命名管道 223

7.3.3高级管道操作 228

7.4消息队列 231

7.5共享内存 235

7.5.1内存映射 235

7.5.2 UNIX System V共享内存 238

思考与实验 246

第8章 线程 248

8.1线程概述 248

8.2线程创建 249

8.3线程同步与互斥 255

8.3.1互斥锁 255

8.3.2条件变量 259

8.3.3信号量 263

思考与实验 269

第9章 网络程序设计 272

9.1 TCP/IP简介 272

9.1.1 TCP/IP概述 272

9.1.2 TCP/IP模块结构 273

9.2网络编程 274

9.2.1端口 274

9.2.2 socket端口 274

9.2.3 socket套接口 274

9.2.4 socket套接口的数据结构 275

9.2.5基于TCP协议的客户端/服务器程序的常用函数 276

9.2.6 TCP编程 276

9.2.7 UDP编程 288

9.3网络高级编程 295

思考与实验 305

第10章Linux的图形编程 317

10.1 Linux的图形编程简介 317

10.2安装和使用SDL图形开发库 318

10.3初始化图形模式 318

10.4基本绘图函数的应用 324

10.5图片与文字显示 335

10.6动画 342

10.7三维绘图 347

10.8游戏程序入门 354

思考与实验 365

第11章 设备驱动程序设计基础 377

11.1设备驱动程序的概念 377

11.1.1设备的分类 377

11.1.2设备文件的查看 378

11.1.3主设备号与次设备号 378

11.1.4设备驱动相关的数据结构 378

11.2驱动程序的设计流程 379

11.2.1字符驱动程序设计流程 379

11.2.2驱动程序流程设计举例 380

11.3 Linux字符设备驱动程序设计 383

11.3.1字符设备驱动程序数据结构 383

11.3.2字符设备驱动程序的基本框架 387

11.4字符设备驱动程序实例——虚拟字符设备 389

11.4.1结构体设计 390

11.4.2设备驱动读、写函数的设计 390

11.4.3字符设备驱动程序设计步骤 392

11.4.4字符设备驱动程序测试 394

思考与实验 396

第12章 串行通信 401

12.1串行通信概述 401

12.1.1同步通信 401

12.1.2异步通信 402

12.2串行通信程序的设计 402

12.2.1串行通信程序设计流程 402

12.2.2打开通信端口 403

12.2.3设置串口属性 404

12.2.4串口通信程序设计 406

思考与实验 413

第13章 程序设计实例 414

13.1 Shell程序设计实例 414

13.2系统函数的应用实例 418

13.3文件操作 423

13.4进程控制实例 429

13.5进程通信 434

13.6网络程序设计 445

13.7图形程序设计 462

13.8驱动程序设计 478

13.9串口通信程序设计 480

附录SDL库的安装 483