《Linux程序设计》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:金国庆,刘加海,季江民,严冰编著
  • 出 版 社:杭州:浙江大学出版社
  • 出版年份:2015
  • ISBN:9787308148238
  • 页数:557 页
图书介绍:Linux程序设计一书总共分13章,主要内容为:Linux常用命令、SHELL程序设计、Linux C程序设计基础、Linux环境下系统函数的使用、文件I/O操作、进程控制、进程间的通信、线程、Linux的图形编程、设备驱动程序设计基础、终端I/O通信、程序设计应用实例。

第1章 Linux常用命令 1

1.1 帮助命令 2

1.2 文件系统命令 5

1.3 系统管理常用命令 18

1.4 网络操作常用命令 21

1.5 网络安全常用命令 24

1.6 字符串显示命令 31

1.7 Shell的环境变量 32

1.8 文本编辑器vi/vim 35

1.9 命令行的执行方式 39

1.10 安装rpm形式的软件包 40

1.11 图形化安装软件 41

第2章 shell编程 45

2.1 bash脚本的建立和运行 46

2.1.1 shell命令行 46

2.1.2 bash脚本的建立 46

2.2 shell程序的位置参数与变量 48

2.2.1 shell程序的位置参数 48

2.2.2 环境变量和用户定义变量 51

2.2.3 变量声明和赋值 52

2.2.4 变量引用和引号使用 53

2.2.5 命令替换 55

2.2.6 变量的输入 56

2.3 控制结构语句 57

2.3.1 顺序结构的语句 57

2.3.2 if-then-elif-else-fi语句 57

2.3.3 for语句 62

2.3.4 while语句 65

2.3.5 until语句 67

2.3.6 case语句 68

2.4 其他几个常用语句 71

2.4.1 break和continue语句 71

2.4.2 exit语句 71

2.4.3 printf语句 72

2.5 数值处理 74

2.5.1 let命令 74

2.5.2 $((expression))扩展 75

2.5.3 expr命令 76

2.6 数组 79

2.7 函数 82

2.8 调试脚本程序 85

2.9 综合实例 86

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

3.1 第一个Linux环境下的C语言程序 105

3.2 编译C语言程序 106

3.2.1 gcc编译器 106

3.2.2 gcc编译流程 107

3.2.3 gcc编辑器的主要参数 110

3.2.4 函数库 116

3.3 make工程文件 120

3.3.1 make命令 120

3.3.2 make规则 121

3.3.3 编写makefile文件 122

3.3.4 Makefile中的变量 126

3.4 gdb调试工具 130

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

4.1 数学函数的使用 140

4.2 字符函数的使用 143

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

4.4 环境控制函数 152

4.5 内存分配函数 155

4.6 数据结构中常用函数 160

第5章 文件I/O操作 168

5.1 Linux系统文件和文件系统 169

5.1.1 Linux文件类型 169

5.1.2 Linux文件权限 171

5.1.3 Linux文件的其他属性 175

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

5.2.1 文件的创建 179

5.2.2 文件的打开和关闭 180

5.2.3 文件的读写操作 182

5.2.4 文件的非阻塞操作 185

5.2.5 函数fcntl应用及文件上锁 188

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

5.3.1 流文件的打开和关闭 194

5.3.2 流文件的读写操作 196

5.3.3 文件的定位 202

5.4 特殊文件的操作 204

5.4.1 目录文件的操作 204

5.4.2 链接文件的操作 209

第6章 进程控制 216

6.1 进程简介 217

6.2 Linux进程控制 218

6.2.1 进程的相关函数 219

6.2.2 进程创建 220

6.2.3 进程终止 227

6.2.4 僵尸进程 229

6.3 Linux进程控制 239

6.3.1 守护进程及其特性 239

6.3.2 编写守护进程的要点 240

6.3.3 守护进程的编写 241

第7章 进程通信 253

7.1 进程间通信 254

7.2 信号 254

7.2.1 信号及其使用简介 255

7.2.2 信号操作的相关函数 257

7.3 管道 267

7.3.1 无名管道操作 268

7.3.2 命名管道 272

7.3.3 高级管道操作 281

7.4 消息队列 284

7.5 共享内存 291

7.5.1 内存映射 291

7.5.2 UNIX System V共享内存 294

第8章 线程 303

8.1 线程概述 304

8.2 线程创建 305

8.3 线程同步与互斥 311

8.3.1 互斥锁 311

8.3.2 条件变量 316

8.3.3 信号量 322

第9章 网络程序设计 330

9.1 TCP/IP简介 331

9.1.1 TCP/IP概述 331

9.1.2 TCP/IP模块结构 331

9.1.3 TCP/UDP传输方式 332

9.2 网络编程 332

9.2.1 端口 332

9.2.2 socket端口 333

9.2.3 socket套接口 333

9.2.4 socket套接口的数据结构 334

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

9.2.6 TCP编程 335

9.2.7 UDP编程 352

9.3 网络高级编程 358

第10章 Linux的图形编程 379

10.1 Linux的图形编程简介 380

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

10.3 初始化图形模式 381

10.4 基本绘图函数的应用 387

10.5 图片与文字显示 400

10.6 动画 408

10.7 三维绘图 417

10.8 游戏程序入门 424

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

11.1 设备驱动程序的概念 453

11.1.1 设备的分类 453

11.2 驱动程序的设计流程 455

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

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

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

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

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

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

第12章 串行通信 478

12.1 串行通信概述 479

12.1.1 同步通信 479

12.1.2 异步通信 479

12.2 串行通信程序的设计 480

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

12.2.2 打开通信端口 481

12.2.3 设置串口属性 482

12.2.4 串口通信程序设计 485

第13章 程序设计实例 494

13.1 Shell程序设计实例 495

13.2 系统函数的应用实例 498

13.3 文件操作 503

13.4 进程控制实例 507

13.5 进程通信 512

13.6 网络程序设计 521

13.7 图形程序设计 536

13.8 驱动程序设计 549

13.9 串口通信程序设计 551

附录 554