第一部分Linux系统应用篇
第1章Linux的安装与配置
1.1旅程开始
1.2本书使用的Linux环境介绍
1.3Linux的安装
1.3.1获取Ubuntu 9.04
1.3.2选择安装平台
1.3.3进入Ubuntu 9.04的安装程序
1.3.4安装Ubuntu 9.04
1.4Linux的配置
1.4.1认识Gnome桌面环境
1.4.2Ubuntu的配置
1.4.3软件安装与升级
第2章Linux常用命令训练
2.1关于Shell
2.2文件操作命令
2.2.1文件浏览
2.2.2文件拷贝
2.2.3文件移动
2.2.4文件链接
2.2.5文件删除
2.2.6修改文件属性
2.2.7文件搜索
2.3目录操作
2.3.1创建目录
2.3.2删除目录
2.3.3修改当前目录
2.3.4查看当前目录
2.4用户与系统操作
2.4.1用户切换
2.4.2用户信息修改
2.4.3关闭系统
2.5获得帮助
2.5.1获取简要帮助
2.5.2获得详细帮助
2.6变量、流、管道操作
2.6.1变量赋值
2.6.2变量的使用
2.6.3流输出
2.6.4流的重定向
2.6.5管道
2.7进程操作
2.7.1进程查看
2.7.2发送信号
2.7.3进程切换
2.8网络操作
2.8.1网络配置
2.8.2ping
2.8.3ARP
2.8.4FTP
2.9其他命令
2.9.1日历
2.9.2命令历史记录
2.9.3后台操作
2.10调用终端控制台
思考与练习
目录
Linux应用与开发典型实例精讲
第3章vi/Vim编辑器的使用
3.1vi的介绍
3.2vi操作模式
3.3vi的命令
3.3.1状态切换命令
3.3.2文件保存与退出
3.3.3光标移动
3.3.4编辑操作
3.3.5字符串搜索替换
3.3.6撤销与重做
3.4启动vi编辑器
3.5使用vi进行文字录入
3.6使用vi修改文本
思考与练习
第4章Shell程序设计
4.1Shell编程简介
4.2系统变量
4.3条件测试
4.3.1文件状态测试
4.3.2逻辑操作
4.3.3字符串测试
4.3.4数值测试
4.4Shell流程控制语句
4.4.1if语句
4.4.2case语句
4.4.3while语句
4.4.4for语句
4.5Shell编程中的常用命令与符号
4.5.1read命令
4.5.2select命令
4.5.3花括号
4.5.4引号
4.5.5注释
4.6函数
4.7应用实例训练
思考与练习
第5章GCC的安装
5.1GCC简介
5.2解压缩工具tar
5.3在Linux下使用源代码安装软件的基本步骤
5.4获得GCC软件包
5.5解压缩软件包
5.6对源文件进行配置
5.7编译GCC
5.8安装GCC
5.9测试GCC安装结果
思考与练习
第6章GNU开发工具链的使用
6.1gcc命令的使用
6.2调试工具gdb
6.2.1gdb简介
6.2.2gdb的使用方法
6.3代码管理make
6.3.1make简介
6.3.2Makefile文件的格式
6.3.3Makefile文件的一些特性
6.3.4make命令的使用
6.4实例训练
6.4.1编写程序
6.4.2调试程序
6.4.3编写Makefile
思考与练习
第二部分Linux编程开发篇
第7章Linux常用C函数
7.1使用函数库
7.2字符操作
7.3字符串操作
7.3.1数据类型转换
7.3.2字符串数据处理
7.4数学计算操作
7.5数据结构与算法操作
7.6日期时间操作
7.7实例训练
7.7.1任务分析
7.7.2编写程序
7.7.3编译、运行
思考与练习
第8章进程操作
8.1Linux进程工作原理
8.2进程操作函数
8.3信号量
8.4信号量操作的函数
8.5应用实例训练
8.5.1问题分析
8.5.2代码编写
8.5.3编译与运行
思考与练习
第9章信号与定时器
9.1进程间通信与信号
9.2Linux系统中的信号
9.3信号操作相关数据结构
9.4信号操作相关函数
9.5定时器操作相关函数
9.6应用实例训练
9.6.1程序分析
9.6.2程序编写
9.6.3编译与运行
思考与练习
第10章内存管理与用户操作
10.1Linux内存管理
10.2内存操作相关函数
10.3Linux系统中的用户操作
10.4用户管理相关数据结构
10.5用户管理相关函数
10.6用户组管理相关函数
10.7应用实例训练
10.7.1编写代码
10.7.2编译与运行
思考与练习
第11章文件操作
11.1Linux的文件系统
11.2文件操作相关函数
11.2.1文件控制
11.2.2目录操作
11.2.3文件流读写控制
11.2.4文件读写操作
11.3应用实例训练
11.3.1程序分析
11.3.2程序编写
11.3.3编译与运行
思考与练习
第三部分Linux内核篇
第12章Linux内核裁剪与编译
12.1内核编译选项
12.1.1常规设置
12.1.2可加载模块支持
12.1.3处理器类型及特性
12.1.4可执行文件格式
12.1.5网络支持
12.1.6设备驱动程序选项
12.1.7文件系统
12.1.8对于其他配置选项的说明
12.2内核编译与定制
12.2.1获得Linux内核与补丁
12.2.2准备编译需要的工具
12.2.3解压内核
12.2.4给内核打补丁
12.2.5设定编译选项
12.2.6编译与安装内核
12.3安装引导配置
12.3.1创建initramfs
12.3.2设置grub
12.3.3启动选项
思考与练习
第13章模块定义与操作
13.1关于内核编程
13.2Linux的模块机制
13.2.1Linux内核结构
13.2.2模块的实现
13.2.3Linux模块导出符号表
13.2.4模块参数
13.2.5模块使用计数
13.3内核调试函数printk
13.4应用实例训练
13.4.1编写模块源程序
13.4.2模块编译、安装及退出
13.4.3Linux kernel2.6.26以后版本模块编译
思考与练习
第14章Linux中断管理
14.1Linux中断原理
14.1.1中断控制器
14.1.2中断处理
14.1.3中断处理的下半部机制
14.2tasklet实例解析
14.2.1编写测试函数
14.2.2编写Makefile
14.2.3实例结果分析
14.3在嵌入式Linux下开中断实例解析
14.3.1硬件电路组成
14.3.2编写中断服务模块
14.3.3结果分析
思考与练习
第15章系统调用
15.1系统调用原理
15.2系统调用函数分析
15.2.1系统调用入口函数
15.2.2系统调用表
15.3添加系统调用实例训练
思考与练习
第16章内存管理
16.1关于Linux的内存管理
16.1.1动态存储管理
16.1.2页面管理
16.1.3slab分配模式
16.2Linux的内存管理函数
16.3实例训练与分析
16.3.1在用户空间用vmalloc/malloc分配内存
16.3.2在内核空间用kmalloc/vmalloc分配内存
思考与练习
第17章时钟定时管理
17.1内核定时器分类
17.2内核时钟管理分析
17.2.1时钟源及其初始化
17.2.2软定时器
17.3应用实例训练
17.3.1编写测试实例
17.3.2编写Makefile
17.3.3编译及运行结果
思考与练习
第18章设备驱动程序的编写
18.1Linux驱动程序
18.1.1驱动程序分类
18.1.2驱动程序开发的注意事项
18.1.3设备目录
18.2Linux驱动数据结构分析
18.2.1Linux驱动核心结构体
18.2.2设备的内核操作函数
18.3驱动程序实例训练
18.3.1以模块的方式加载驱动程序
18.3.2测试驱动程序
18.4编译时向内核添加新设备
思考与练习
第四部分Linux高级编程篇
第19章QT图形界面设计
19.1XWindows概述
19.2QT编程
19.2.1概述
19.2.2QT Designer与Qmake
19.2.3QT信号与Slot机制
19.3应用实例训练
19.3.1创建工程目录打开QT Designer
19.3.2新建工程
19.3.3绘制窗体
19.3.4编写代码
19.3.5生成Makefile
19.3.6编译运行
思考与练习
第20章MySQL数据库设计与编程
20.1MySQL的特性
20.2数据库编程概述
20.3QT中的数据库编程
20.3.1QSqlDriver
20.3.2QSqlDatabase
20.3.3QSqlQuery
20.3.4QSqlCursor
20.4应用实例训练
20.4.1数据库的建立
20.4.2应用程序的建立
20.4.3运行结果
20.4.4实例改进
思考与练习
第21章QT 4.5网络通信编程
21.1网络编程概述
21.2Socket编程模型
21.3QT网络编程中用到的类和方法
21.3.1QTcpSocket
21.3.2QTcpServer
21.3.3QThread
21.4应用实例训练
21.4.1QT 4.5的安装
21.4.2建立工程
21.4.3数据结构设计
21.4.4界面设计
21.4.5动作设计
21.4.6编译与运行
思考与练习
参考文献
后记
