《Linux系统套用与开发教程》是邱铁编着的图书,2016年8月1日出版,介绍了Linux系统的使用、管理与开发。
基本介绍
- 书名:Linux作业系统套用与开发教程
- 作者:邱铁
- ISBN:9787302440321
- 定价:49.50元
- 出版时间:2016年8月1日
- 印次:1-2
- 印刷日期:2017年7月18日
内容简介
本书针对学习者如何快速掌握Linux套用、开发、核心编程与高级编程,以最新的Linux核心版本3.0.x~3.19.x为依据,设计典型实例,并对开发场景进行详细讲解。
在内容设计上,本书採取了循序渐进的原则,对Linux系统知识进行精心策划,使Linux初学者能够以“Linux套用基础→编程开发→核心源码与场景分析→高级编程”为主线,以阶梯式前进的方式进行学习。 本书立足于基础,实例经典,深入实践。读者可以在较低起点下进行高效的理论与实践学习,为Linux 系统套用与开发打下坚实的基础。本书可作为高等院校计算机、信息类大学生、研究生进行作业系统学习和开发的教材或参考书,也可作为Linux开发人员参考用书和广大的Linux爱好者自学教程。
目录
第1部分Linux系统套用篇
第1章Linux的安装与配置 2
1.1旅程开始 2
1.2本书使用Linux环境介绍 2
1.3Linux的安装 4
1.3.1获取Ubuntu14.04 4
1.3.2选择安装平台 4
1.3.3进入Ubuntu14.04的安装程式 9
1.3.4安装Ubuntu14.04 10
1.4Linux的配置 19
1.4.1认识Gnome桌面环境 19
1.4.2Ubuntu的配置 22
1.4.3软体安装与升级 24
第2章Linux常用命令训练 26
2.1关于Shell 26
2.2档案操作命令 27
2.2.1调用终端控制台 27
2.2.2档案浏览 27
2.2.3档案複製 29
2.2.4档案移动 29
2.2.5档案连结 30
2.2.6档案删除 30
2.2.7档案压缩和备份 31
2.2.8修改档案属性 32
2.2.9档案搜寻 34
2.3目录操作 36
2.3.1创建目录 37
2.3.2删除目录 37
2.3.3修改当前目录 37
2.3.4查看当前目录 37
2.4用户与系统操作 38
2.4.1用户切换 38
2.4.2用户信息修改 39
2.4.3关闭系统 39
2.5获得帮助 40
2.5.1获取简要帮助 40
2.5.2获得详细帮助 40
2.6变数、流、管道操作 41
2.6.1变数赋值 41
2.6.2变数的使用 41
2.6.3流输出 42
2.6.4流的重定向 44
2.6.5管道 45
2.7进程操作 45
2.7.1进程查看 46
2.7.2传送信号 46
2.7.3进程切换 47
2.8网路操作 48
2.8.1网路配置 48
2.8.2ping 48
2.8.3ARP 49
2.8.4FTP 50
2.9其他命令 50
2.9.1日曆 50
2.9.2命令历史记录 51
2.9.3后台操作 51
2.10思考与练习 52
第3章vi/vim编辑器的使用 53
3.1vi的介绍 53
3.2vi操作模式 53
3.3vi的命令 54
3.3.1状态切换命令 54
3.3.2档案保存与退出 54
3.3.3游标移动 54
3.3.4编辑操作 55
3.3.5字元串搜寻替换 55
3.3.6撤销与重做 55
3.4启动vi编辑器 56
3.5使用vi进行文字录入 56
3.6使用vi修改文本 57
3.7思考与练习 58
第4章Shell程式设计 59
4.1Shell编程简介 59
4.2系统变数 59
4.3条件测试 60
4.3.1档案状态测试 60
4.3.2逻辑操作 60
4.3.3字元串测试 61
4.3.4数值测试 61
4.4Shell流程控制语句 61
4.4.1if语句 61
4.4.2case语句 62
4.4.3while语句 62
4.4.4for语句 63
4.5Shell编程中的常用命令与符号 63
4.5.1read命令 63
4.5.2select命令 63
4.5.3大括弧 64
4.5.4引号 64
4.5.5注释 65
4.6函式 65
4.7套用实例训练 65
4.8思考与练习 67
第5章GCC的安装 68
5.1GCC简介 68
5.2解压缩工具tar 68
5.3在Linux下使用原始码安装软体的基本步骤 69
5.4获得GCC软体包 70
5.5解压缩软体包 72
5.6对源档案进行配置 72
5.7编译GCC 74
5.8安装GCC 75
5.9测试GCC安装结果 76
5.10思考与练习 77
第6章GNU开发工具链的使用 78
6.1gcc命令的使用 78
6.2调试工具gdb 79
6.2.1gdb简介 79
6.2.2gdb的使用方法 79
6.3代码管理make 81
6.3.1make简介 81
6.3.2Makefile档案的格式 82
6.3.3Makefile档案的一些特性 83
6.3.4make命令的使用 85
6.4实例训练 85
6.4.1编写程式 87
6.4.2调试程式 95
6.4.3编写Makefile 98
6.5思考与练习 99
第2部分编程开发篇
第7章Linux常用C函式 102
7.1使用函式馆 102
7.2字元操作 103
7.3字元串操作 107
7.3.1数据类型转换 108
7.3.2字元串数据处理 111
7.4数学计算操作 116
7.5数据结构与算法操作 118
7.6日期时间操作 123
7.7实例训练 125
7.7.1任务分析 125
7.7.2编写程式 127
7.7.3编译、运行 134
7.8思考与练习 135
第8章进程操作 136
8.1Linux进程工作原理 136
8.2进程操作函式 137
8.3信号量 144
8.4信号量操作的函式 145
8.5套用实例训练 146
8.5.1问题分析 147
8.5.2代码编写 147
8.5.3编译与运行 152
8.6思考与练习 153
第9章信号与定时器 154
9.1进程间通信与信号 154
9.2Linux系统中的信号 154
9.3信号操作相关数据结构 155
9.4信号操作相关函式 156
9.5定时器操作相关函式 160
9.6套用实例训练 161
9.6.1程式分析 162
9.6.2程式编写 163
9.6.3编译与运行 166
9.7思考与练习 167
第10章记忆体管理与用户操作 168
10.1Linux记忆体管理 168
10.2记忆体操作相关函式 169
10.3Linux系统中的用户操作 175
10.4用户管理相关数据结构 176
10.5用户管理相关函式 177
10.6用户组管理相关函式 182
10.7套用实例训练 184
10.7.1编写代码 185
10.7.2编译与运行 193
10.8思考与练习 194
第11章档案操作 195
11.1Linux的档案系统 195
11.2档案操作相关函式 197
11.2.1档案控制 197
11.2.2目录操作 200
11.2.3档案流读写控制 204
11.2.4档案读写操作 211
11.3套用实例训练 217
11.3.1程式分析 217
11.3.2程式编写 218
11.3.3编译与运行 225
11.4思考与练习 225
第3部分Linux核心篇
第12章Linux核心裁剪与编译 228
12.1核心编译选项 228
12.1.1常规设定 228
12.1.2可载入模组支持 229
12.1.3处理器类型及特性 229
12.1.4执行档格式 229
12.1.5网路支持 229
12.1.6设备驱动程式选项 230
12.1.7档案系统 231
12.1.8对于其他配置选项的说明 231
12.2核心编译与定製 231
12.2.1获得Linux核心与补丁 231
12.2.2準备编译需要的工具 233
12.2.3解压核心 234
12.2.4给核心打补丁 234
12.2.5设定编译选项 235
12.2.6编译与安装核心 237
12.3安装引导配置 238
12.3.1创建initramfs 238
12.3.2设定grub 239
12.3.3启动选项 239
12.4思考与练习 240
第13章模组机制与操作 241
13.1关于核心编程 241
13.2Linux的模组机制 241
13.2.1Linux核心结构 241
13.2.2模组的实现 242
13.2.3Linux模组导出符号表 244
13.2.4模组参数 244
13.2.5模组使用计数 245
13.3核心调试函式printk() 245
13.4套用实例训练 247
13.4.1编写模组源程式 247
13.4.2Linuxkernel2.6.26之前版本模组编译、安装及退出 251
13.4.3Linuxkernel2.6.26以后版本模组编译、安装及退出 253
13.5思考与练习 256
第14章Linux中断管理 257
14.1Linux中断原理 257
14.1.1中断控制器 257
14.1.2中断处理 258
14.1.3中断处理的下半部机制 261
14.2Tasklet实例解析 262
14.2.1编写测试函式 262
14.2.2编写Makefile 263
14.2.3实验结果分析 263
14.3在嵌入式Linux下开中断实例解析 264
14.3.1硬体电路组成 264
14.3.2编写中断服务模组 265
14.3.3结果分析 267
14.4思考与练习 268
第15章系统调用 269
15.1系统调用原理 269
15.2系统调用函式分析 270
15.2.1系统调用入口函式 270
15.2.2系统调用表 273
15.3添加系统调用实例训练 275
15.4思考与练习 277
第16章记忆体管理 278
16.1关于Linux的记忆体管理 278
16.1.1动态存储管理 279
16.1.2页面管理 279
16.1.3slab分配模式 280
16.2Linux的记忆体管理函式 281
16.3实例训练与分析 282
16.3.1在用户空间用valloc/malloc分配记忆体 282
16.3.2在核心空间用kmalloc/vmalloc分配记忆体 282
16.4思考与练习 290
第17章时钟定时管理 291
17.1核心定时器分类 291
17.1.1实时时钟RTC 291
17.1.2时间戳计数器TSC 291
17.1.3可程式间隔定时器PIT 291
17.1.4SMP系统上的本地APIC定时器 292
17.1.5高精度计时器 293
17.2核心时钟管理分析 293
17.2.1时钟源及其初始化 293
17.2.2软定时器 295
17.3套用实例训练 296
17.3.1编写测试实例 296
17.3.2编写Makefile 298
17.3.3编译及运行结果 298
17.4思考与练习 299
第18章设备驱动程式的编写 300
18.1Linux驱动程式 300
18.1.1驱动程式分类 300
18.1.2驱动程式开发的注意事项 301
18.1.3设备目录 301
18.2Linux驱动数据结构分析 302
18.2.1Linux驱动核心结构体 302
18.2.2设备的核心操作函式 304
18.3驱动程式实例训练 306
18.3.1以模组的方式载入驱动程式 306
18.3.2测试驱动程式 311
18.4编译时向核心添加新设备 312
18.5思考与练习 315
第4部分高级编程篇
第19章Qt图形界面设计 318
19.1X-Windows概述 318
19.2Qt编程 318
19.2.1概述 318
19.2.2QtCreator 319
19.2.3Qt信号与Slot机制 319
19.3Qt安装方法 321
19.4套用实例训练 324
19.4.1创建工程目录打开QtCreator 324
19.4.2新建工程 324
19.4.3绘製窗体 325
19.4.4编写代码 327
19.4.5编译运行 330
19.5思考与练习 330
第20章MySQL资料库设计与编程 331
20.1MySQL的特性 331
20.2资料库编程概述 333
20.3Qt中的资料库编程 333
20.3.1QSqlDriver 333
20.3.2QSqlDatabase 334
20.3.3QSqlQuery 336
20.4套用实例训练 338
20.4.1资料库的建立 338
20.4.2应用程式的建立 344
20.4.3运行结果 351
20.5思考与练习 353
第21章网路通信高级编程 354
21.1网路编程概述 354
21.2Socket编程模型 355
21.3Qt网路编程中用到的类和方法 355
21.3.1QtcpSocket 355
21.3.2QTcpServer 357
21.3.3QThread 359
21.4套用实例训练 359
21.4.1建立工程 360
21.4.2数据结构设计 362
21.4.3界面设计 367
21.4.4动作设计 368
21.4.5编译与运行 372
21.5思考与练习 374
后记 375
Linux作业系统套用与开发教程
目录