《Linux应用与开发典型实例精讲》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邱铁,于玉龙,徐子川编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302218555
  • 页数:372 页
图书介绍:本书针对学习者如何快速掌握Linux应用、开发、内核编程与高级编程问题,以最新的Linux内核版本2.6.24~2.6.30为依据,设计典型实例,并对开发场景进行详细讲解。

第一部分 Linux系统应用篇 3

第1章 Linux的安装与配置 3

1.1旅程开始 3

1.2本书使用的Linux环境介绍 4

1.3Linux的安装 5

1.3.1获取Ubuntu 9.04 5

1.3.2选择安装平台 6

1.3.3进入Ubuntu 9.04的安装程序 12

1.3.4安装Ubuntu 9.04 18

1.4Linux的配置 28

1.4.1认识Gnome桌面环境 28

1.4.2Ubuntu的配置 29

1.4.3软件安装与升级 31

第2章 Linux常用命令训练 33

2.1关于Shell 33

2.2文件操作命令 34

2.2.1文件浏览 34

2.2.2文件拷贝 36

2.2.3文件移动 36

2.2.4文件链接 36

2.2.5文件删除 37

2.2.6修改文件属性 37

2.2.7文件搜索 38

2.3目录操作 40

2.3.1创建目录 40

2.3.2删除目录 41

2.3.3修改当前目录 41

2.3.4查看当前目录 41

2.4用户与系统操作 41

2.4.1用户切换 42

2.4.2用户信息修改 43

2.4.3关闭系统 43

2.5获得帮助 44

2.5.1获取简要帮助 44

2.5.2获得详细帮助 44

2.6变量、流、管道操作 45

2.6.1变量赋值 45

2.6.2变量的使用 46

2.6.3流输出 46

2.6.4流的重定向 49

2.6.5管道 49

2.7进程操作 49

2.7.1进程查看 49

2.7.2发送信号 50

2.7.3进程切换 51

2.8网络操作 52

2.8.1网络配置 52

2.8.2ping 52

2.8.3ARP 53

2.8.4FTP 53

2.9其他命令 54

2.9.1日历 54

2.9.2命令历史记录 54

2.9.3后台操作 55

2.10调用终端控制台 55

思考与练习 56

第3章 vi/Vim编辑器的使用 58

3.1vi的介绍 58

3.2vi操作模式 58

3.3vi的命令 59

3.3.1状态切换命令 59

3.3.2文件保存与退出 59

3.3.3光标移动 60

3.3.4编辑操作 60

3.3.5字符串搜索替换 60

3.3.6撤销与重做 61

3.4启动vi编辑器 61

3.5使用vi进行文字录入 62

3.6使用vi修改文本 63

思考与练习 63

第4章 Shell程序设计 64

4.1Shell编程简介 64

4.2系统变量 64

4.3条件测试 65

4.3.1文件状态测试 65

4.3.2逻辑操作 66

4.3.3字符串测试 66

4.3.4数值测试 66

4.4Shell流程控制语句 66

4.4.1if语句 66

4.4.2case语句 67

4.4.3while语句 68

4.4.4for语句 68

4.5Shell编程中的常用命令与符号 69

4.5.1read命令 69

4.5.2select命令 69

4.5.3花括号 69

4.5.4引号 70

4.5.5注释 70

4.6函数 70

4.7应用实例训练 71

思考与练习 73

第5章 GCC的安装 74

5.1GCC简介 74

5.2解压缩工具tar 75

5.3在Linux下使用源代码安装软件的基本步骤 75

5.4获得GCC软件包 76

5.5解压缩软件包 79

5.6对源文件进行配置 80

5.7编译GCC 82

5.8安装GCC 83

5.9测试GCC安装结果 83

思考与练习 86

第6章 GNU开发工具链的使用 87

6.1gcc命令的使用 87

6.2调试工具gdb 88

6.2.1gdb简介 88

6.2.2gdb的使用方法 89

6.3代码管理make 91

6.3.1make简介 91

6.3.2Makefile文件的格式 91

6.3.3Makefile文件的一些特性 92

6.3.4make命令的使用 95

6.4实例训练 95

6.4.1编写程序 95

6.4.2调试程序 104

6.4.3编写Makefile 109

思考与练习 110

第二部分 Linux编程开发篇 113

第7章 Linux常用C函数 113

7.1使用函数库 113

7.2字符操作 114

7.3字符串操作 116

7.3.1数据类型转换 117

7.3.2字符串数据处理 119

7.4数学计算操作 121

7.5数据结构与算法操作 123

7.6日期时间操作 125

7.7实例训练 126

7.7.1任务分析 126

7.7.2编写程序 127

7.7.3编译、运行 134

思考与练习 135

第8章 进程操作 136

8.1Linux进程工作原理 136

8.2进程操作函数 137

8.3信号量 141

8.4信号量操作的函数 142

8.5应用实例训练 143

8.5.1问题分析 144

8.5.2代码编写 144

8.5.3编译与运行 148

思考与练习 149

第9章 信号与定时器 150

9.1进程间通信与信号 150

9.2Linux系统中的信号 150

9.3信号操作相关数据结构 151

9.4信号操作相关函数 153

9.5定时器操作相关函数 155

9.6应用实例训练 156

9.6.1程序分析 156

9.6.2程序编写 156

9.6.3编译与运行 160

思考与练习 161

第10章 内存管理与用户操作 162

10.1Linux内存管理 162

10.2内存操作相关函数 163

10.3Linux系统中的用户操作 167

10.4用户管理相关数据结构 167

10.5用户管理相关函数 168

10.6用户组管理相关函数 170

10.7应用实例训练 172

10.7.1编写代码 173

10.7.2编译与运行 181

思考与练习 182

第11章 文件操作 183

11.1Linux的文件系统 183

11.2文件操作相关函数 185

11.2.1文件控制 185

11.2.2目录操作 186

11.2.3文件流读写控制 188

11.2.4文件读写操作 191

11.3应用实例训练 194

11.3.1程序分析 194

11.3.2程序编写 194

11.3.3编译与运行 201

思考与练习 201

第三部分 Linux内核篇 205

第12章 Linux内核裁剪与编译 205

12.1内核编译选项 205

12.1.1常规设置 205

12.1.2可加载模块支持 206

12.1.3处理器类型及特性 206

12.1.4可执行文件格式 206

12.1.5网络支持 207

12.1.6设备驱动程序选项 207

12.1.7文件系统 208

12.1.8对于其他配置选项的说明 208

12.2内核编译与定制 208

12.2.1获得Linux内核与补丁 208

12.2.2准备编译需要的工具 209

12.2.3解压内核 210

12.2.4给内核打补丁 210

12.2.5设定编译选项 211

12.2.6编译与安装内核 213

12.3安装引导配置 215

12.3.1创建initramfs 215

12.3.2设置grub 216

12.3.3启动选项 216

思考与练习 217

第13章 模块定义与操作 218

13.1关于内核编程 218

13.2Linux的模块机制 219

13.2.1Linux内核结构 219

13.2.2模块的实现 219

13.2.3Linux模块导出符号表 221

13.2.4模块参数 222

13.2.5模块使用计数 222

13.3内核调试函数printk 222

13.4应用实例训练 224

13.4.1编写模块源程序 224

13.4.2模块编译、安装及退出 228

13.4.3Linux kernel2.6.26以后版本模块编译 230

思考与练习 232

第14章 Linux中断管理 233

14.1Linux中断原理 233

14.1.1中断控制器 233

14.1.2中断处理 234

14.1.3中断处理的下半部机制 237

14.2tasklet实例解析 238

14.2.1编写测试函数 238

14.2.2编写Makefile 239

14.2.3实例结果分析 239

14.3在嵌入式Linux下开中断实例解析 240

14.3.1硬件电路组成 240

14.3.2编写中断服务模块 241

14.3.3结果分析 243

思考与练习 244

第15章 系统调用 245

15.1系统调用原理 245

15.2系统调用函数分析 247

15.2.1系统调用入口函数 247

15.2.2系统调用表 249

15.3添加系统调用实例训练 250

思考与练习 253

第16章 内存管理 254

16.1关于Linux的内存管理 254

16.1.1动态存储管理 255

16.1.2页面管理 255

16.1.3slab分配模式 256

16.2Linux的内存管理函数 257

16.3实例训练与分析 257

16.3.1在用户空间用vmalloc/malloc分配内存 257

16.3.2在内核空间用kmalloc/vmalloc分配内存 258

思考与练习 265

第17章 时钟定时管理 266

17.1内核定时器分类 266

17.2内核时钟管理分析 268

17.2.1时钟源及其初始化 268

17.2.2软定时器 269

17.3应用实例训练 270

17.3.1编写测试实例 270

17.3.2编写Makefile 272

17.3.3编译及运行结果 272

思考与练习 273

第18章 设备驱动程序的编写 274

18.1Linux驱动程序 274

18.1.1驱动程序分类 274

18.1.2驱动程序开发的注意事项 275

18.1.3设备目录 275

18.2Linux驱动数据结构分析 276

18.2.1Linux驱动核心结构体 276

18.2.2设备的内核操作函数 278

18.3驱动程序实例训练 280

18.3.1以模块的方式加载驱动程序 280

18.3.2测试驱动程序 284

18.4编译时向内核添加新设备 286

思考与练习 290

第四部分 Linux高级编程篇 293

第19章 QT图形界面设计 293

19.1X-Windows概述 293

19.2QT编程 294

19.2.1概述 294

19.2.2QT Designer与Qmake 294

19.2.3QT信号与Slot机制 295

19.3应用实例训练 297

19.3.1创建工程目录打开QT Designer 297

19.3.2新建工程 298

19.3.3绘制窗体 298

19.3.4编写代码 299

19.3.5生成Makefile 303

19.3.6编译运行 306

思考与练习 306

第20章 MySQL数据库设计与编程 308

20.1MySQL的特性 309

20.2数据库编程概述 310

20.3QT中的数据库编程 311

20.3.1QSqlDriver 311

20.3.2QSqlDatabase 311

20.3.3QSqlQuery 314

20.3.4QSqlCursor 316

20.4应用实例训练 318

20.4.1数据库的建立 318

20.4.2应用程序的建立 325

20.4.3运行结果 337

20.4.4实例改进 338

思考与练习 339

第21章 QT4.5网络通信编程 341

21.1网络编程概述 341

21.2Socket编程模型 342

21.3QT网络编程中用到的类和方法 342

21.3.1QTcpSocket 342

21.3.2QTcpServer 345

21.3.3QThread 346

21.4应用实例训练 347

21.4.1QT 4.5的安装 347

21.4.2建立工程 350

21.4.3数据结构设计 353

21.4.4界面设计 358

21.4.5动作设计 360

21.4.6编译与运行 363

思考与练习 365

参考文献 366

后记 369